愿你得不到的都释怀
想要的都拥有

利用rc.local文件开机自启服务

利用rc.local文件开机自启服务

例如源码安装nginx:绝对路径启动命令是 /usr/local/nginx/sbin/nginx

每次开机需要手动启动,我们自己实验还可以 ,可是上线环境就不好使了,那么如何加入开机自启呢?(这里介绍借助/etc/rc.local 文件进行开机自启,具体原理可以看看Linux启动流程即可,这里只说了如何使用!)

可以放在 /etc/rc.local 文件中, /etc/rc.local 是/etc/rc.d/rc.local 的系统链接文件

[root@localhost /]# ll /etc/rc.local 
lrwxrwxrwx. 1 root root 13 6月   1 07:01 /etc/rc.local -> rc.d/rc.local       #( /etc/rc.local 是/etc/rc.d/rc.local 的系统链接文件)

此时在 /etc/rc.local加入想要执行的命令或者脚本,如:加入启动nginx命令 /usr/local/nginx/sbin/nginx

[root@localhost /]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local   #(系统自带)
/usr/local/nginx/sbin/nginx     #(加入的nginx启动命令)

但是你reboot机器后却发现无法启动nginx服务,那是因为/etc/rc.d/rc.local没有执行权限,虽然/etc/rc.local有权限,但是它是链接文件,/etc/rc.d/rc.local这个才是根文件,所以给/etc/rc.d/rc.local加上执行权限就好

 

[root@localhost ~]# ll /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 534 6月   9 12:16 /etc/rc.d/rc.local
[root@localhost ~]# chmod +x /etc/rc.d/rc.local 
[root@localhost ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 534 6月   9 12:16 /etc/rc.d/rc.local

此时再去reboot就会发现nginx服务在启动时 已经开机自启了

 

 

赞(4) 打赏
转载请带上原链接:你为谁隐身 » 利用rc.local文件开机自启服务
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

不忘初心,方得始终!

页面存档标签云

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏