Linux开机自启动总结:
在作为服务器使用的Linux(Cent OS)系统中,开机自动启动若干服务是常见的。我们使用的指令是chkconfig,通过它将我们自定义的封装了各种服务的sh脚本添加到开机启动项,并设置该脚本的运行级别,启动顺序及停止顺序。在这里,我们介绍完基本的知识之后,会以LNMP中涉及的基本必须的服务开启为例封装一个脚本,并使用chkconfig将该脚本加入开启启动。
· 开机启动介绍
· 脚本命令封装
· 脚本开机自启
1、启动配置介绍
先看以下配置(自定义脚本中),这些配置为系统可识别配置:
#add for chkconfig #代表使用添加脚本方式为chkconfig
#chkconfig:2345 60 20 #2345指脚本运行级别,234为文本界面,5为图形界面,60为脚本启动的次序号,20为脚本停止的次序号;如果其他程序启动号小于60,那么待它们执行之后,才执行60号。
#processname: lnmp_autostart #指定启动的进程 这里为sh脚本
#description: the lnmp basic service of the shell #脚本简短描述
好了,有了上面的启动配置之后,并将其添加到sh脚本中即可。
2、脚本命令封装
A、Shell多条指令分割符说明
;号->各个命令都执行,不保证每个命令都执行成功;
&&号->若前面指令执行成功,才往下继续执行,保证每条指令执行成功;
||号->若遇到一条指令成功执行,就返回不再执行;
B、以lnmp基本的服务为例:
$ cd /etc/init.d // 切换到开启初始化init目录
$ sudo touch lnmp_autostart.sh // 新建服务脚本 并设置可执行
$ sudo chmod a+x lnmp_autostart.sh
$ sudo vim lnmp_autostart.sh // 编辑脚本文件
lnmp_autostart.sh:
[lnmp]
#!/bin/sh
#开机自动启动的配置
#add for chkconfig
#chkconfig:2345 60 20
#processname:lnmp_autostart
#description: the lnmp basic service of the shell
#要启动的服务指令集
/usr/local/bin/sudo PHP-fpm&&
echo ‘fpm start success!’&&
/usr/local/nginx/sbin/sudo nginx&&
echo ‘nginx start success!’&&
/usr/local/opt/MySQL/bin/mysql.server start&&
echo ‘mysql server is ok!’&&
…
3、脚本开机自启
$ chkconfig --add lnmp_autostart.sh
NOTE:
上面使用chkconfig将sh脚本加入开启自动启动,然后重启系统即刻生效;
另外,可以使用chkconfig --del删除指定的启动进程;
好了,到这里已经介绍完了开机自动启动,简单吧。