CentOS下将自编译的Apache添加为系统服务

时间:2024-03-23 19:04:50

首先,先谈下对linux服务的理解

1,linux 服务运行方式: 脚本的方式运行,服务脚本存放位置/etc/rc.d/init.d/

2,linux服务管理软件 chkconfig

Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。但是chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

综上所述,添加某个程序为linux系统服务,且能让chkconfig 监测到它,需要通过两步来实现。

以添加自编译的apache为例

自编译安装apache命令略,最终安装路径/usr/local/apache2/

添加apahce为系统服务步骤:

步骤1添加服务脚本

#cp /app/apache2/bin/apachectl  /etc/rc.d/init.d/httpd
#ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd

当init.d目录下有httpd脚本后,我们就可以通过service命令来启动关闭apache了,此时可以说已经成添加了apache系统服务。

但是# chkconfig –list却还是没有发现apache服务

步骤2,修改脚本使其支持chkconfig

编辑httpd脚本,在第2行添加如下注释信息:

# chkconfig: 35 61 61

# description: Apache

保存后执行:chkconfig --add httpd

第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:以上两行缺一不可

执行chkconfig --add httpd后就在rc3.d、rc5.d路径中将来就会出现S61httpd的链接,其他运行级别路径中会出现K61httpd的链接

之后,就可以通过service httpd start等命令来控制Apache2服务了

引自:http://blog.163.com/longsu2010@yeah/blog/static/1736123482011117105043662/