httpd服务如何开机自启

来源:互联网 发布:网络集成与设计 编辑:程序博客网 时间:2024/05/29 18:40


   在之前的学习中我们已经知道怎样收到启动服务或者停止服务,以httpd服务在Redhat5、centos6为例:

启动服务:

service httpd start

停止服务:

service httpd stop

重启服务:

service http restart


那么我们如何设置一个httpd服务开机启动呢?

方法一:

   我们可以用ntsysv命令查看,带*的为开机启动的服务,不带*的为开机不启动的服务,也可以手动进行设置,但是设置只工作在当前模式下,切换到其它模式无效

wKiom1m-WlaDCGphAABOFGRG1yY935.png

我们知道Linux有多种工作模式具体可以查看/etc/initab文件

wKioL1m-Wj6Q1TJUAACIJGoLJ9c391.png


方法二:使用脚本制作开机自启服务

1、ls /etc/init.d

wKioL1m-Wl_izSaVAABcnrr3ml0338.png

wKioL1m-Wnqi_yTbAAA3BTnPPMM934.png

我们发现系统已经有httpd服务的脚本,如果没有需要自己写脚本并且移动到/etc/init.d目录,我们需要注意作为服务的脚本必须有以下两行

chkconfig: - 85 15

       - 代表工作哪种模式,希望设置为哪种模式就设置为哪种模式,比如可以设置在3,5模式就写35中间不需要任何符号在这里我们不指定

       85第一个数字代表开始的运行次序S*: S##*:##运行次序;数字越小,越先运行;数字

越小的服务,通常为被依赖到的服务

       15第二个数字代表停止的运行次序K*: K##*:##运行次序;数字越小,越先运行;数字

越小的服务,通常为依赖到别的服务

   简单来说比如一个服务要依赖网络服务在模式3下网络服务的运行次序是S10,我们写的服务必须在网络服务开启之后才能开启,并且在网络服务关闭之前关闭,否则网络服务无法关闭,因此S值应该大一点,K值应该小一点

wKiom1m-WvCCEqm0AABuJY58kNk982.png

description:

如果要自己写脚本作为一项开机自启服务在脚本中需要注意一下几个方面:

脚本不能调用单独的函数

不能是交互式

有执行权限


2、chkconfig命令查看服务在所有级别的启动或关闭设定情形

chkconfig --list httpd 查看所有开机自启的服务发现没有httpd

wKiom1m-WzzigFakAAAK8BSVyTw559.png

wKiom1m-WzyggPqEAABugYd6_XM531.png

3、chkconfig --add httpd 添加脚本到开机自启列表,但是它并没有被运行开机启动

4、因为我们没有在httpd服务脚本指定运行在哪个模式下,可以在此设置,比如我希望在当前模式下开机启动

先查看当前模式:runlevel

wKioL1m-Ww3wWOTeAAAJaQCoxKw634.png

chkconfig --level 5 httpd on

wKioL1m-Ww2R85y8AAAMMWp8LTU458.png

这时查看/etc/rc.d/rc5.d发现以S开头运行次序是85

wKiom1m-Wz2jxJFTAABwrox-UUc545.png

而在其他模式比如3模式下以K开头次序是15

wKioL1m-Ww3jZ1uxAABy_EEnkfo825.png

5、重启,命令service httpd status 查看指定模式httpd服务是不是开机自启


这样一个开机自启服务就做好了!


原创粉丝点击