Linux源码包服务管理(启动与自启动)
源码包服务的启动管理
源码包服务中所有的文件都会安装到指定目录当中,并且没有任何垃圾文件产生(Linux 的特性),所以服务的管理脚本程序也会安装到指定目录中。源码包服务的启动管理方式就是在服务的安装目录中找到管理脚本,然后执行这个脚本。问题来了,每个服务的启动脚本都是不一样的,我们怎么确定每个服务的启动脚本呢?还记得在安装源码包服务时,我们强调需要査看每个服务的说明文档吗(一般是 INSTALL 或 READEM)?在这个说明文档中会明确地告诉大家服务的启动脚本是哪个文件。
我们用 apache 服务来举例。一般 apache 服务的安装位置是 /usr/local/apache2/ 目录,那么 apache 服务的启动脚本就是 /usr/local/apache2/bin/apachectl 文件(查询 apache 说明文档得知)。启动令如下:
[root@localhost ~]# /usr/local/apache2/bin/apachectl start|stop|restart|...
#源码包服务的启动管理
例如:
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
#会启动源码包安装的apache服务
注意,不管是源码包安装的 apache,还是 RPM 包默认安装的 apache,虽然在一台服务器中都可以安装,但是只能启动一因为它们都会占用 80 端口。源码包服务的启动方法就这一种,比 RPM 包默认安装的服务要简单一些。
源码包服务的自启动管理
源码包服务的白启动管理也不能依靠系统的服务管理令,而只能把标准启动令写入 /etc/rc.d/rc.local 文件中。系统在启动过程中读取 /etc/rc.d/rc.local 文件时,就会调用源码包服务的启动脚本,从而让该服务开机自启动。令如下:[root@localhost ~]# vi /etc/rc.d/rc.local
#修改自启动文件
#!/bin/sh
#This script will be executed *after* all the other init scripts.
#You can put your own initialization stuff in here if you don11
#want to do the full Sys V style init stuff.
touch /var/lock/subsys/local /usr/local/apache2/bin/apachectl start
#加入源码包服务的标准启动令,保存退出,源码包安装的apache服务就被设为自启动了
让源码包服务被服务管理令识别
在默认情况下,源码包服务是不能被系统的服务管理令所识别和管理的,但是如果我们做一些设定,则也是可以让源码包服务被系统的服务管理令所识别和管理的。不过笔者并不大家这样做,因为这会让本来区别很明确的源码包服务和 RPM 包服务变得容易混淆,不利于系统维护和管理。我们做一个实验,看看如何把源码包安装的 apache 服务变为和 RPM 包默认安装的 apache 服务一样,可以被 service、chkconfig、ntsysv 令所识别。实验如下:
1) 卸载RPM包默认安装的apache服务
[root@localhost ~]# yum -y remove httpd
#卸载RPM包默认安装的apache服务,避免对实验产生影响(在生产服务器上慎用yum卸载,因为这有可能造成服务器崩溃)
[root@localhost ~]# service httpd start httpd:未被识别的服务
#因为服务被卸载,所以service令不能识别httpd服务
2) 安装源码包的apache服务,并启动
#安装源码包的apache服务
[root@localhost ~]# /usr/local/apache2/bin/apachect1 start
[root@localhost ~]# netstat -tlun | grep 80
tcp 0 0 :::80 :::* LISTEN
#启动源码包安装的apache服务,查看端口确定已经启动
3) 让源码包安装的apache服务能被service令管理启动
[root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/&plun;nit.d/apache
#service令其实只是在/etc/init.d/目录中查找是否有服务的启动脚本,所以我们只需要做一个软链接,把源码包的启动脚本链接到/etc/init.d/目录中,就能被service令所管理了。为了照顾大家的习惯,我把软链接文件名为apache,注意这不是RPM包默认安装的apache服务
[root@localhost ~]# service apache restart
#虽然RPM包默认安装的apache服务被卸载了,但是service令也能够生效
4) 让源码包安装的apache服务能被chkconfig令管理自启动
[root@localhost ~]# vi /etc/init.d/apache
#修改源码包安装的apache服务的启动脚本(注意此文件是软链接,所以修改的还是源码包启动脚本)
#!/bin/sh
#
#chkconfig: 35 86 76
#指定httpd脚本可以被chkconfig令所管理
#格式是:chkconfig:运行级别 启动顺序 关闭顺序
#这里我们让apache服务在3和5级别中能被chkconfig令所管理,启动顺序是S86,关闭顺序是K76
#(自定顺序,不要和系统中已有的启动顺序冲突)
#description: source package apache
#说明,内容随意
#以上两句话必须加入,才能被chkconfig令所识别 ...省略部分输出...
[root@localhost ~]# chkconfig --add apache
#让chkconfig令能够管理源码包安装的apache服务
[root01ocalhost ~]# chkconfig --list | grep apache
apache 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
#很奇吧,虽然RPM包默认安装的apache服务被删除了,但是chkconfig令可以管理源码包安装的tapache服务
5) 让ntsysv令可以管理源码包安装的apache服务
#ntsysv 令其实和 chkconfig 令使用同样的管理机制,也就是说,ntsysv 已经可以进行源码包安装 apache 服务的自启动管理了,如图 1 所示

图 1 ntsysv 令识别 apache
总结一下,如果想让源码包服务被service令所识别和管理,则只需做一个软链接把启动脚本链接到 /etc/init.d/ 目录中即可。要想让源码包服务被 chkconfig 令所是被,除了需要把服务的启动脚本链接到 /etc/init.d/ 目录中,还要修改这个启动脚本,在启动脚本的开头加入如下内容:
#chkconfig:运行级别 启动顺序 关闭
#description:说明
然后需要使用"chkconfig--add 服务名"的方式把服务加入 chkconfig 令的管理中。令格式如下:
[root@localhost ~]# chkconfig [选项][服务名]
选项:
-add:把服务加入 chkconfig 令的管理中;
-del:把服务从 chkconfig 令的管理中删除;
例如:
[root@localhost ~]# chkconfig -del httpd
#把apache服务从chkconfig令的管理中删除
- 随机文章
- 移动 漫游 马尔代夫(游览马尔代夫:探索这个梦幻般的度假胜地)
- 中国 马尔代夫 投资(中国企业大力投资,马尔代夫成为合作新亮点)
- 帕 马尔代夫(马尔代夫旅游胜地:帕岛)
- 小米 马尔代夫 APN(小米推出专属马尔代夫APN服务,助力用户畅游海岛!)
- 马尔代夫对阵中国(中国队迎来马尔代夫的挑战)
- 沙滩公园马尔代夫(马尔代夫沙滩公园:全新体验等你来!)
- 海岛妈妈马尔代夫(马尔代夫之旅:我和孩子们的海岛假期)
- 惠州马尔代夫攻略(惠州打造仿马尔代夫景区,如何体验?)
- 洛甫公园马尔代夫(洛甫公园打造仿佛马尔代夫的海岛风光)
- 小马尔代夫明斯克(小马尔代夫出现明斯克症状,引发担忧)
- 潜水 马尔代夫(马尔代夫深潜惊现废弃海底墓园)
- 渭南马尔代夫现状(渭南市公众关注渭南马尔代夫申遗现状)
- 玉泉湖小马尔代夫(重返恬静环境:玉泉湖打造小马尔代夫)
- 潜水游泳马尔代夫(探寻马尔代夫海底世界:潜水游好去处)
- 简阳马尔代夫美景(探索简阳马尔代夫:美丽美景惊艳世界)
- 文轩 马尔代夫(文轩游马尔代夫,舒适的珊瑚海之旅)
- 郎朗马尔代夫图片(郎朗与妻子在马尔代夫度假的照片曝光)
- 江西江西马尔代夫(江西一处神奇景点被誉为江西马尔代夫)
- 马尔代夫人的护照(马尔代夫女子的护照成互联网热门话题)
- 马尔代夫亭子照片(美丽马尔代夫的传统亭子让人流连忘返)
- 海上旅游马尔代夫(探索马尔代夫海上奇观:畅游旅游胜地)
- 马尔代夫今天形势(马尔代夫局势动荡,全球疫情持续影响)
- 北方 马尔代夫(马尔代夫珍贵海洋自然资源亟待保护)
- 重庆马尔代夫定位(重庆旅行社推出马尔代夫特色旅游产品)
- 马尔代夫儿子照片(马尔代夫父亲拍下的儿子照片辉煌夺金)
- 奥露 马尔代夫(奥露酒店:你眼中的马尔代夫,我的心中的世外桃源)
- 马尔代夫中文接待(马尔代夫推出中文接待,更贴心更便捷)
- 色努 马尔代夫(探索马尔代夫:发现瑰丽海底世界)
- 帆船 马尔代夫(驶向度假天堂——帆船游马尔代夫)
- 荆门马尔代夫照片(荆门夫妇拍下梦幻马尔代夫,美景如画)
