httpd服务如何开机自启


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

启动服务:

service httpd start

停止服务:

service httpd stop

重启服务:

service http restart


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

方法一:

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

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


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

1、ls /etc/init.d

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

chkconfig: - 85 15

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

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

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

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

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

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


description:

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

脚本不能调用单独的函数

不能是交互式

有执行权限


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

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

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

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

先查看当前模式:runlevel


chkconfig --level 5 httpd on


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


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


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


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


你可能感兴趣的:(httpd服务如何开机自启)