Centos中的程序开机自启动

来源:互联网 发布:人工智能 教育风口 编辑:程序博客网 时间:2024/06/11 16:28

几天前基于Centos7做好的LAMP环境,在虚拟机重启之后网页便无法访问,

一查原来是Apache没有默认配置上自启动。


网络上初步查了一下,Linux下的程序自启动有两种方法。

功能强大的chkconfig  以及 简单粗暴的rc.local


安装完mysql后并没有人为做设置就已经是自启动,上面的两种方法也没有发现

mysql的设置痕迹。对这一情况再次上网搜了一把,才发现原来systemctl也有自启动的功能。


一.  chkconfig

    可以为指定程序设置在系统的各个运行级别下的自启动开关。

    这里以apache为例

    1.  复制apache的启动脚本到指定位置

        cp  /usr/sbin/apachectl  /etc/init.d/httpd


    2.  编辑启动脚本,在头部的环境指定语句后(#!/bin/bash)加入chkconfig用启动头信息

        vi  /etc/init.d/httpd


       # chkconfig:2345 20 80
       # description: Activates/Deactivates Apache Web Server

        

    3.  chkconfig配置

       chkconfig --add httpd

       chkconfig  --level 2345  httpd  on

       

    4.  配置结果确认

        重启系统后确认apache程序的自启动

        ps aux|grep httpd


        chkconfig程序列表的确认,

       会看到该程序在系统各级别下的自启动状态。

        chkconfig --list httpd

        httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off


    ***** 我在实验中的疑问点,以后找到解决办法后继续更新 ****

       -  chkconfig程序列表的显示并不完整

           看了命令说明, chkconfig --list 命令应该会显示所有用此方法设置自启动的程序。

           但在我的系统中该命令却看不到刚刚设置好的httpd。

           只能使用第4步中指定服务名的方式来查看。


       -  无启动脚本程序的自启动设置

            原本想顺便把FTP程序vsftpd也用此方法设置成自启动,但用yum安装的vsftpd程序

            并不带有启动脚本。也就无法在 /etc/init.d/目录下添加对应的脚本文件。

            虽然根据网络上的描述,用 chkconfig --add vsftpd就可以为FTP配置自启动,

            但在我的环境中该命令的执行出错。


二.  rc.local

     这种办法就是真正意义上的简单粗暴了。

     只要把想开机运行的命令写到文件 rc.local 里就可以了。也可以是执行其他脚本的命令。

     vi  /etc/rc.d/rc.local


     在该文件的最后加上apache的启动命令即可

     systemctl start httpd


     最后为rc.local文件赋上可执行属性后重启,大功告成。


三.  systemctl

      据说systemctl是RHEL7中用来替代service与chkconfig的工具,自然基于RHEL的Centos同样适用。

      

      systemctl  list-unit-files

      此命令列出当前系统中所有服务的状态, enable状态表示该服务会在开机时启动。

      可以看到这时的 apache 服务状态是disable。

      httpd.service                               disabled


      systemctl   enable  httpd

      此命令可以设置 apache 服务开机自动启动


      这方法虽然简单,但也有缺点。即无法指定各个服务自启动时的顺序。

      当服务相互之间有依赖关系,需要按顺序启动时,可能还是需要用 rc.local 的方法来实现。

原创粉丝点击