CentOS设置开机自启动服务方法总结

CentOS设置开机自启动服务方法总结

Posted by fengdi on December 23, 2018

1、自定义脚本

1.1、修改/etc/rc.d/rc.local文件

1.1.1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径),如果为非自定义脚本,则可省略该步
chmod +x /opt/script/autostart.sh
1.1.2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容
/opt/script/autostart.sh
1.1.3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local

1.2、将脚本移动到/etc/rc.d/init.d目录下,修改chkconfig来配置启动级别

1.2.1、将脚本移动到/etc/rc.d/init.d目录下
mv  /opt/script/autostart.sh /etc/rc.d/init.d
1.2.2、增加脚本的可执行权限
chmod +x  /etc/rc.d/init.d/autostart.sh
1.2.3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on

1.3、把启动程序的命令添加到/etc/rc.d/rc.sysinit文件中

脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等

比如我们设置自启动apache:

echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit

2、安装服务

2.1、修改/etc/rc.d/rc.local文件

打开/etc/rc.d/rc/local文件,在末尾增加如下内容

/usr/sbin/apachectl start

2.2、修改chkconfig来配置启动级别

比如要将mysqld设置为开机自动启动

chkconfig mysqld on

比如要取消postfix的自动启动

chkconfig postfix off

如果这个服务尚未被添加到chkconfig列表中,则现需要使用–add参数将其添加进去

chkconfig --add postfix

如果要查询当前所有自动启动的服务

chkconfig --list

如果只想看指定的服务,只需要在 –list 之后加上服务名就好了,比如查看httpd服务是否为自动启动:

chkconfig --list httpd

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

此时0-6均为off,则说明httpd服务不会在系统启动的时候自动启动,我们输入:

chkconfig httpd on

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

则此时2-5均为on,就表明自启动了

说明

  • /etc/rc.d/rc.local

CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local

  • chkconfig

chkconfig功能说明:检查、设置系统的各种服务,语法如下:

chkconfig [--add][--del][--list][系统服务]
chkconfig [--level <等级代号>][系统服务][on/off/reset]

–add 添加服务 –del 删除服务 –list 查看各服务启动状态