Linux下如何将服务注册为系统服务

Linux管理员经常会希望将一个刚刚装完的应用配置为每次随系统启动而自动启动,避免每次重启服务器后还需要手工启动的麻烦。网上看到不少帖子介绍写脚本方法,对于我等菜鸟来说未免麻烦了些,想到CentOS下chkconfig这个好用的命令,记录下配置apache自启动服务的过程
 
我用的是源码安装的方式安装的apache,版本是最新的2.44,prefix定在/usr/local/httpd-2.4.4
 
第一步当然是apache的启动脚本问题,俺没有自己写,直接用的是默认安装在/usr/local/httpd-2.4.4/bin/下的apachectl。
 
cp /usr/local/httpd-2.4.4/bin/apachectl  /etc/init.d/httpd      \\把apache的启动脚本拷贝到系统的启动脚本目录下/etc/init.d,改个通用点的名字httpd
 
第二步稍微修改下默认脚本,以便支持chkconfig管理
 
vi /etc/init.d/httpd
 
在#!/bin/sh行下加入
# chkconfig: 35 70 35    \\这行中的第一组数字表示此脚本将会在哪(几)种运行级别下启动,第二组数字表示start参数的优先级,第三组数字表示stop参数的优先级
 
第三步使用chkconfig注册系统服务
 
chkconfig –add httpd  \\这条命令会根据上面配置的参数执行如下动作:在/etc/rc3.d和/etc/rc5.d中生成S70httpd的软链接,在其余的/etc/rc0.d,/etc/rc1.d,/etc/rc2.d,/etc/rc4.d,/etc/rc6.d中生成K35httpd的软链接
 
有些文章说需要修改/etc/init.d下httpd的权限为700,我没想通这有什么必要
 
现在已经完成了,可以用service httpd start/stop/restart来管理服务了,chkconfig –list也可以看到apache已经自动运行在3和5的级别上了。

相关推荐