转自:https://blog.csdn.net/huangbaokang/article/details/79924058
linux开机自启动的方式跟window相似,也是把启动程序放在一个公共位置,随着开机自启动。
在CentOS 7 之前版本 ,把启动脚本放在/etc/rc.d/rc.local目录即可。但CentOS 7,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行自己的脚本是不能起动一些服务的。
查看下该文件的权限,就会知道,rc.local没有执行权限。
[root@localhost ~]# cd /etc/rc.d/
[root@localhost rc.d]# ll
总用量 4
drwxr-xr-x. 2 root root 70 6月 28 13:51 init.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc0.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc1.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc2.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc3.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc4.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc5.d
drwxr-xr-x. 2 root root 45 6月 27 19:54 rc6.d
-rw-r--r--. 1 root root 473 4月 26 01:19 rc.local
给rc.local添加执行权限
chmod +x /etc/rc.d/rc.local
一、新建执行脚本hbk.sh
脚本的位置在/root/hbk
目录下
[root@localhost hbk]# pwd
/root/hbk
[root@localhost hbk]# ll
总用量 35820
-rw-r--r--. 1 root root 40 4月 13 09:47 hbk.sh
drwxr-xr-x. 3 root root 53 4月 12 17:33 nginx
drwxr-xr-x. 11 root root 151 4月 13 08:51 nginx2
drwxr-xr-x. 10 502 games 4096 11月 2 02:52 zookeeper-3.4.11
-rw-r--r--. 1 root root 36668066 11月 9 02:24 zookeeper-3.4.11.tar.gz
[root@localhost hbk]# cat hbk.sh
#!/bin/bash
/root/hbk/nginx2/sbin/nginx
[root@localhost hbk]#
可以从上面看到hbk.sh没有执行权限。
二、使自启动程序拥有执行权限
[root@localhost hbk]# chmod +x hbk.sh
[root@localhost hbk]# ll
总用量 35820
-rwxr-xr-x. 1 root root 40 4月 13 09:47 hbk.sh
drwxr-xr-x. 3 root root 53 4月 12 17:33 nginx
drwxr-xr-x. 11 root root 151 4月 13 08:51 nginx2
drwxr-xr-x. 10 502 games 4096 11月 2 02:52 zookeeper-3.4.11
-rw-r--r--. 1 root root 36668066 11月 9 02:24 zookeeper-3.4.11.tar.gz
[root@localhost hbk]#
三、在/etc/rc.d/rc.local中加入执行脚本命令,并设置执行权限。
在/etc/rc.d/rc.local
文件末尾追加/root/hbk/hbk.sh
[root@localhost hbk]# vi /etc/rc.d/rc.local
[root@localhost hbk]# chmod +x /etc/rc.d/rc.local
[root@localhost hbk]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 492 4月 13 09:55 /etc/rc.d/rc.local
[root@localhost hbk]#
简单的三步操作之后,重启下linux系统,验证下nginx服务已经开机启动了。
[root@localhost hbk]# reboot