Linux服务的简介与分类

服务的简介与分类

服务的分类

在这里插入图片描述

查询已安装的服务和区分服务

#列出所有rpm包默认安装服务的自启动状态
[root@localhost ~]# chkconfig --list atd
atd            	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
[root@localhost ~]# chkconfig --list sshd
sshd           	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭

centos6服务管理

独立服务管理
#使用启动脚本启动服务
[root@localhost ~]# /etc/init.d/httpd start
正在启动 httpd:#使用service命令来启动独立的服务
[root@localhost ~]# service httpd start
正在启动 httpd:#使用chkconfig服务自启动管理命令
[root@localhost ~]# chkconfig --level 级别 httpd on
#修改rc.local文件设置服务自启动
[root@localhost ~]# vim /etc/rc.d/rc.local
#使用ntsysv管理自启动
ntsysv [-- level 运行级别]
- -level:可以指定设定自启动的运行级别
上下键:在不同服务之间移动。
空格键:选定或取消选定。*为自启动。
tab键:在不同项目之间切换。
F1键:服务详情。运行级别
0:关机 1:单用户模式 2:某些网络功能没有开启
3:完全功能的字符界面 4:保留 5:图形化 6:重启系统
基于xinetd服务管理

早期的linux操作系统认为都是监听网络,就设置一个超级进程监听全部端口,那个端口有数据就监听那个程序,xinetd就此诞生了。xinetd管理所有端口,当端口有请求到达时就启动对应端口处理服务进程,导致结果是响应变慢。

#安装xinetd
[root@localhost ~]# yum -y install xinetd
#查看配置文件
[root@localhost ~]# vim /etc/xinetd.d/rsync
#服务名称
service rsync
{disable = yes   #服务不启动 修改为no就是服务启动flags           = REUSE  #设定TCP、IP socket可重用socket_type     = stream #套接字类型wait            = no     #允许多个连接同时连接user            = root   #启动用户为rootserver          = /usr/bin/rsync   #服务启动程序server_args     = --daemon    log_on_failure  += USERID  #登录失败后,记录用户的ID
}
#重启服务
service xinetd restart
源码包服务管理
启动管理
/usr/local/apache2/bin/apachectl start|stop|restart|...
自动管理
[root@localhost ~]# vim /etc/rc.d/rc.local
#内容
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx
让源码包服务被服务管理命令识别

1.卸载apache服务,保证准确性

[root@localhost ~]# yum -y remove httpd

2.安装源码包服务,并启动

[root@localhost ~]# yum -y install gcc* pcre pcre-devel
[root@localhost ~]# cd /lamp/
[root@localhost lamp]# tar -xvf apr-1.4.6.tar.gz
[root@localhost lamp]# cd apr-1.4.6
[root@localhost apr]# ./configure
[root@localhost apr]#make && make install
[root@localhost apr]# cd ..
[root@localhost lamp]# tar -xvf apr-util-1.4.1.tar.gz
[root@localhost lamp]# cd apr-util-1.4.1
[root@localhost apr-util-1.4.1]# ./configure -with-apr=/usr/local/apr
[root@localhost apr-util-1.4.1]# make && make install
[root@localhost apr-util-1.4.1]# cd ..
[root@localhost lamp]# tar -xvf pcre-8.10.tar.gz
[root@localhost lamp]# cd pcre-8.10
[root@localhost pcre-8.10]# ./configure
[root@localhost pcre-8.10]# make && make install
[root@localhost pcre-8.10]# cd ..
[root@localhost lamp]# tar -xvf httpd-2.4.7.tar.gz
[root@localhost lamp]# cd httpd-2.4.7
[root@localhost httpd-2.4.7]# ./configure --prefix=/usr/local/apache2
[root@localhost httpd-2.4.7]# make && make install
[root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using localhost.localdomain. Set the 'ServerName' directive globally to
suppress this message
[root@localhost httpd-2.4.7]# netstat -tlun | grep 80
tcp 0 0 :::80 :::*
LISTEN
#启动源码包apache,查看端口是否启动。
3)源码包apache服务被service命令管理启动
[root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
#service命令其实只是在/etc/init.d/目录中查找是否有服务启动脚本,所以我们只需要做个软连接把源码包的启动脚本链到/etc/init.d/目录中,就能被service命令管理了。
[root@localhost ~]# service apache restart
AH00558: httpd: Could not reliably determine the server's fully qualified domain
name, using localhost.localdomain. Set the 'ServerName' directive globally to
suppress this message
#测试service命令,restart和start生效

centos7服务管理

systemd有哪些优点?
  1. 并行处理所有服务、加速开机流程;在init启动流程中,服务是一项一项启动的。在systemd可以所有服务同时启动

  2. 命令相对简单:和之前的SystemV相比,所有操作都是systemctl命令来控制。而之前的systemV中有init、service、chkconfig等。

  3. 服务依赖性检测:如果B服务是架构在A服务上启动的,当没有A服务时就先启动b服务的话,systemd会自动启动A服务

    systemd的配置文件位置
/usr/lib/systemd/system   #服务启动脚本存放位置
/run/systemd/system   #系统执行过程中产生的服务脚本
/etc/systemd/system   #管理员根据自己主机系统的需求所创建的执行脚本。
systemctl管理服务

systemctl:管理服务状态

格式:systemctl 选项 执行服务的守护进程名称
选项:	start、stop、restart、statusreload(重新读取服务配置文件)、enable(开机启动)、disable(开机不启动)、is—enable(查看是否开机自启动)常见后缀:.service:用来启动和控制守护进程和进程的服务单元.target:执行环境类型,也就是启动流程中窗口化和命令行
切换系统环境
centos7还是可以使用init*的命令。没有运行级别的概念,只有切换操作环境。1.图形化界面:graphical.target2.命令行模式:multi-user.target3.rescue.target:救援模式。 4.emergency.target:紧急处理系统的错误
命令格式:systemctl isolate + 操作系统环境
使用systemctl管理源码包nginx

安装依赖关系

[root@localhost nginx-1.6.2]# yum -y install gcc* zlib zlib-devel.pcre pcre-devel

编译执行安装

[root@localhost nginx-1.6.2]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.6.2]# make && make install

启动

[root@localhost nginx-1.6.2]# /usr/local/nginx/sbin/nginx

在这里我们将nginx暂停,会发现失败

[root@localhost nginx-1.6.2]# systemctl stop nginx
Failed to stop nginx.service: Unit nginx.service not loaded.

使用vim打开一个文件

[root@localhost nginx-1.6.2]# vim /usr/lib/systemd/system/nginx.service
#输入配置文件
[Unit]
Description=nginx   #服务描述
After=network.target  #表示服务在network服务启动后启动[Service]
Type=forking     #表示后台运行模式
ExecStart=/usr/local/nginx/sbin/nginx  #服务启动脚本位置
ExecReload=/usr/local/nginx/sbin/nginx -s reload  #重新加载配置文件
ExecStop=/usr/local/nginx/sbin/nginx -s stop   #停止服务
PrivateTmp=true[Install]
WantedBy=multi-user.target   #表示此unity依附于multi模式#系统后台服务重新读取
[root@localhost nginx-1.6.2]# systemctl daemon-reload 
[root@localhost nginx-1.6.2]# systemctl stop nginx
[root@localhost nginx-1.6.2]# ps -aux | grep nginx
root      23910  0.0  0.0  24864   756 ?        Ss   19:08   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    23911  0.0  0.1  27372  1508 ?        S    19:08   0:00 nginx: worker process
root      24105  0.0  0.0 112824   988 pts/2    R+   19:14   0:00 grep --color=auto nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目中访问HTML页面

在这种情况下,如果你要访问静态页面,肯定是不能正确访问的:会出现如下错误: 那么,此时,你应该: 静态资源映射: import org.springframework.context.annotation.Configuration; im…

command not found: wire 解决方案【学习笔记,不作教程】

command not found: wire command not found: wire command not found: wire go get github.com/google/wire/cmd/wirego install github.com/google/wire/cmd/wirelatest再次在 /bubble/cmd/bubble目录下执行wire wire wire: bubble/cmd/bubble: wrote /Users/zhengshijie/go…

音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流

直播推流 ffmpeg -re -i out.mp4 -c copy flv rtmp://server/live/streamName -re, 表示按时间戳读取文件 参考: Nginx 搭建 rtmp 流媒体服务器 (Ubuntu 16.04) https://www.jianshu.com/p/16741e363a77 第一步 准备工作 安装nginx需要的依赖包 打开 ubutun 终端…

[emailprotected](9)属性默认值和类型验证

目录 1,属性默认值1.1,函数组件1.2,类组件 2,属性类型验证2.1,和默认值的关系2.2,使用2.3,举例说明 1,属性默认值 通过组件的 defaultProps 静态属性设置。 1.1,函数组…

lllllllllll

ollllllllllllll

Leetcode 3160. Find the Number of Distinct Colors Among the Balls

Leetcode 3160. Find the Number of Distinct Colors Among the Balls 1. 解题思路2. 代码实现 题目链接:3160. Find the Number of Distinct Colors Among the Balls 1. 解题思路 这一题思路上同样比较清晰,我们只需用两个hash table来分别记录每一个…

Nginx与CDN集成:提升全球访问速度

一、引言 在当今互联网高速发展的时代,用户对于网站访问速度的要求越来越高。为了提升用户体验,许多企业和开发者都在寻求各种方法来优化网站的访问速度。其中,Nginx与CDN(内容分发网络)的集成就是一个非常有效的方法…

社会网络,生态网络,贸易网络,复杂网络边介数蓄意和随机攻击

​边介数(Edge Betweenness) # ” 边介数(Edge Betweenness) 1 边介数(Edge Betweenness) Summer IS HERE 边介数(Edge Betweenness)是一种度量边在网络中重要性的指标。它定义为…

golang float转string并去除末尾的0

写go时遇到一个场景要求将得到的浮点数保留两位小数,同时要去除末尾的0,试了一下 fmt.Sprintf 和 strconv.FormatFloat 都没能一步到位,最后只能先按小数位约分然后再转成字符串来解决这个问题,如果各位有更好的方式请在评论里指教…

Linux dig 命令

dig 命令是一个用于在 Unix/Linux 操作系统中执行 DNS 查询的工具。它是 DNS 客户端,通常用于查询 DNS 服务器的信息,如域名解析、IP 地址查询等。 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 一、常见 DNS 记录类型 类型描述…

OpenStack平台Nova管理

1. 规划节点 使用OpenStack平台节点规划 IP主机名节点192.168.100.10controller控制节点192.168.100.20compute计算节点 2. 基础准备 部署的OpenStack平台 1. Nova运维命令 (1)Nova管理安全组规划 安全组(security group)是…

设计模式八股文

什么是设计模式? 设计模式是软件开发过程中经常遇到的问题的通用解决方案。类似于前人总结的经验,遇到相似问题的时候有个参考。 设计模式七大基本原则? 单一职责:一个类应该只作一件事情。将功能分为小的独立的单元。开放封闭…

CTF之Web_python_block_chain

这种题对于我来说只能看大佬的wp(但是这一题是wp都看不懂,只能表达一下我的理解了) (最后有简单方法,前面一种没看懂没关系) 下面这一部分是首页的有用部分 访问/source_code,得到源码: # -*-…

qt post请求 c++ 解压缩文件

目录 qt post请求 c下载代码: 默认下载保存路径: linux qt调用 unzip进行解压缩 pro文件配置: QT network qt post请求 c下载代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include &…

ffmpeg怎么将vtt文件添加到视频中

FFmpeg 是一个非常强大的多媒体框架,可以用来处理音频、视频以及字幕文件。要将 WebVTT(.vtt)字幕文件添加到视频文件中,你可以使用 ffmpeg 的 subtitles 过滤器。以下是基本的命令格式: ffmpeg -i input_video.mp4 -…

VSCode搭建Markdown编辑环境

1. 本文目标2. 准备工作3. 安装插件4. 插件的用法 4.1. Markdown All in One 4.1.1. 快捷键4.1.2. 创建/更新目录4.1.3. 给标题增加序号 4.2. Markdown Table 4.2.1. 格式化表格4.2.2. 插入表格列 4.3. Markdown PDF VSCode是笔者用过的最好用的开发工具,没有之一…

宁夏银川、山东济南、中国最厉害的改名大师的老师颜廷利教授的前沿思想观点

在当代社会,一个响亮的声音穿越了传统的迷雾,它来自东方哲学的殿堂,由一位现代学者颜廷利教授所发出。他的话语,如同一股清泉,在混沌的世界里激荡着思考的波澜:"有‘智’不在年高,无‘智’…

太空几乎没有阻力,飞船理论上能一直加速,为何还说星际旅行很难

太空几乎没有阻力,飞船理论上能一直加速,为何还说星际旅行很难? 答案 现代科学认为,我们的地球诞生于46亿年前,也就是太阳系诞生初期,在太阳系中一共有八大行星,而地球是唯一一颗诞生了生命的…

起保停电路工作原理

一、电路组成 起保停电路由电源保护设备(空气开关)、交流接触器、启动按钮、停止按钮和用电设备组成。 起保停电路的组成部分通常可分为四个部分: 保护部分:(空气开关)在电流或电压超出一定范围时自动切断…

异步获取线程执行结果,JDK中的Future、Netty中的Future和Promise对比

JDK中的Future和Netty中的Future、Promise的关系 三者源头追溯 Netty中的Future与JDK中的Future同名,但是是两个不同的接口。Netty中的Future继承自JDK的Future,而Promise又对Netty中的Future进行了扩展。 JDK中的Future源自JUC并发包: Net…