如何制作符合SysV风格的apache启动脚本

回复 收藏
前几日看到VIP群里在讨论这个,一直没时间,所以今天才发出这个帖子
先说一下什么是SysV风格,这个是与BSD相对应的,一般来说如果一个发行版的系统中有
service
chkconfig
这些命令时,说明这个发行版是遵循Sysv风格的,也就是说Sysv风格的发行版会包含一些这样的命令

那么默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是:
[root@localhost httpd-2.2.16]# /usr/local/apache2/bin/apachectl start

相信大家都懂的,那么如何来制作一个符合SysV风格的apache启动脚本呢??
很简单,
/usr/local/apache2/bin/中的apachectl其实就是一个启动脚本,我们把他copy到/etc/init.d/去,并且重命名为apache2(这个名字随便取,你自己方便就行)
[root@localhost httpd-2.2.16]# cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2

然后修改2个地方,让他支持service和chkconfig命令

[root@localhost httpd-2.2.16]# vim /etc/init.d/apache2

在前面一大段注释中任意地方加入这2行:

       # chkconfig: 35 20 80
  # description: Apache2

  第一行后面的3个数字的意思分别是:在哪些运行级别启动apache(3,5);启动序号(S20);关闭序号(K80)。              
       3和5也就是说在第三启动级别和第五启动级别的时候会默认启动apache
       20就是指系统起来的时候有很多的服务需要启动,而这个程序排在第二十位启动,以此类推
       80就是指系统关闭的时候,这个服务顺序排在第80位关闭

       注意:这2行缺一不可,#号不能省略,一定要有


然后保存退出,这样我们就可以用service来启动和关闭apache了
比如:
[root@localhost httpd-2.2.16]# service apache2 start
[root@localhost httpd-2.2.16]# netstat -antp |grep 80
tcp        0      0 :::80                       :::*                        LISTEN      13410/httpd         



如果想让apache跟随系统一起启动,也就是开机自启动,那么加入到chkconfig即可

[root@localhost httpd-2.2.16]# chkconfig --add apache2
[root@localhost httpd-2.2.16]# chkconfig apache2 on














2014-10-20 16:07 举报
已邀请:
0

wyatt88

赞同来自:

{:6_158:}好帖 沙发
0

寻@轨迹

赞同来自:

哇塞,学习了,谢谢雷老师!
0

游夜

赞同来自:

# chkconfig: 35 20 80
# description: Apache2
#号是注释,这里是不是不需要#号?
0

张小双

赞同来自:

好贴!{:4_107:}
0

齐天大圣

赞同来自:

原来与此丫!
0

ocean

赞同来自:

不错 学习了{:5_121:}

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: