RH6系列和RH7系列及以上版本有两种不同服务管理方式。RH系列指的是那些Linux的发行版本,参见linux 主要发行版极简史
Linux中安装软件有四种方式,前两种方式可以自动创建服务,后两种需手动创建。linux包管理工具对比(三种软件安装方式)
![0426d2a65ae3fb56621b66b8ee27c461.png](https://img-blog.csdnimg.cn/img_convert/0426d2a65ae3fb56621b66b8ee27c461.png)
一、对于RH6系列,常用的管理服务的方式:
1.rpm软件包安装和yum安装应用程序后,自动创建服务后
在/etc/init.d/下会产生一个与软件包名称对应的文件(shell脚本),即该软件对应的服务文件。
1.1管理该服务的两种方法,以mysql为例:
(a)调用init.d目录下的mysql服务文件
/etc/init.d/mysql start/stop/restart/reload/status
(b)利用service命令调用mysql服务文件
service mysql start/stop/restart/reload/status
1.2设置开机启动类型的三种方法,以mysql为例:
(a)利用chkconfig命令设置mysql服务的启动类型
chkconfig --level 2345 mysql on/off
这里level的含义,见Linux 服务之基本概念的最后一段。
(b)利用ntsysv命令,进行可视化交互设置
chkconfig命令和ntsysv命令对同一个服务采用相关的操作设置而不会有影响,因为这两个命令操作的是同一个文件。
(c)修改rc.local文件,设置开机启动类型
将/etc/init.d/mysql start这句命令,加入到/etc/rc.local文件中。
注意:不能同时使用chkconfig命令和修改rc.local文件的方式对同一个服务设置开机启动类型。
还有一种基于xinetd管理服务的方式,比如Telnet服务,但是这种管理模式不太常用。
2.源代码包安装的和压缩包解压安装应用程序,不会自动创建相应的服务时
2.1管理该应用程序的方法,以mysql为例:
需要切换到mysql安装路径下,利用对应的启动、停止、重启等命令进行操作。不同的应用程序,有不同的命令或脚本。
2.2设置开机启动的方法,以mysql为例:
通过修改rc.local文件,设置开机启动类型
参考c,将正确的启动命令语句,加入到/etc/rc.local文件中。
你看没有服务进行统一管理,是不是操作有点繁琐。副作用是可以锻炼记忆力。
![9fb862fce94964d6b170cff5bf0ad38d.png](https://img-blog.csdnimg.cn/img_convert/9fb862fce94964d6b170cff5bf0ad38d.png)
3.源代码包安装的应用程序需要可以被service、chkconfig管理工具管理时
3.1利用service工具管理启动状态
首先通过软连接的方式,将源代码包安装路径bin或sbin目录下的脚本连接到init.d的目录下。
比如:ln -s /usr/local/nginx-1.17/sbin/nginx /etc/init.d/nginx
然后就可以利用service命令+nginx脚本+脚本参数,就可以管理nginx了,比如:
启动nginx:service nginx;停止nginx:service nginx -s stop
软连接类似超级链接,打开软连接进行修改,就是打开源文件进行修改。
3.2利用chkconfig管理工具管理启动类型
完成上述软连接后,编辑该软连接,添加两行内容,chkconfig和description。
# chkconfig: 35 87 99
# 上述内容表示,本脚本可以被chkconfig命令识别,启动级别3和5、启动顺序87、关闭顺序99。
# description:xxxx
#上述描述内容随意。
这样可以利用chkconfig命令,直接管理服务了。
先添加服务:chkconfig --add nginx
查看chkconfig管理的服务:chkconfig --list
设置开机启动服务:chkconfig nginx on
二、对于RH7系列,常用的管理服务的方式:
在RH7系列及以后,不再使用service,而是systemctl。但是版本向下兼容的,也可以用service。
1.rpm软件包安装和yum安装应用程序后,自动创建服务后
1.1管理该服务的两种方法,以mysql为例:
(a)调用init.d目录下的mysql服务文件
/etc/init.d/mysql start/stop/restart/reload/status
(b)利用systemctl命令调用mysql服务文件
systemctl start/stop/restart/reload/status mysql
1.2设置开机启动类型的四种方法,以mysql为例:
前三种方法参照RH6系列的方式。第四种方式如下:
开机启动服务:systemctl enable mysql
禁止开机启动:systemctl disable mysql
查看系统中所有正在运行的服务:systemctl list-units
查看系统中所有服务的开机启动状态:systemctl list-unit-files
2.源代码包安装的和压缩包解压安装应用程序,不会自动创建相应的服务时
参考RH6系列对应的操作
3.源代码包安装的应用程序需要被systemctl管理工具管理
参考RH6系列对应的操作
![9c8efb816a2960215dfa13cca6028c35.png](https://img-blog.csdnimg.cn/img_convert/9c8efb816a2960215dfa13cca6028c35.png)