Linux开机自启动
Linux系统开机自启动配置(多方案)
方案一(以nginx为例):
- 说明:直接使用Linux系统自带开机管理方式(systemctl)。
1、在系统服务目录里创建nginx.service文件
vi /etc/systemd/system/nginx.service
(或者:vi /usr/lib/systemd/system/nginx.service,两者有区别详细看这里:https://blog.csdn.net/lcczpp/article/details/105534329)
2、写入内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]:服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]:运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
3、重新载入systemd服务和设置开机自启动,完成
[root@localhost~]# systemctl daemon-reload
[root@localhost~]# systemctl enable nginx
4、查看nginx状态
[root@localhost~]# systemctl status nginx.service
# 查看是否为开机自启动
[root@localhost~]# systemctl is-enable wgcloudAgent
方案二(以wgcloud为例):
- 说明:使用自己写的脚本。
① 以Ubuntu 18为例,新建/etc/systemd/system/wgcloudAgent.service文件,
[root@localhost~]# vim /etc/systemd/system/wgcloudAgent.service
内容如下,将下列内容复制到/etc/systemd/system/wgcloudAgent.service文件
[Unit]
Description=auto Start Wgcloud Agent
After=network.target syslog.target
[Service]
Type=forking
ExecStart=/etc/wgcloudAgent.local
[Install]
WantedBy=multi-user.target
② 创建文件/etc/wgcloudAgent.local
[root@localhost~]# vim /etc/wgcloudAgent.local
内容如下
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# 命令后边可以插入其他脚本文件,按顺序执行!!
/usr/local/wgcloud-v3.3.5/agent/start.sh
exit 0
注意:/usr/local/wgcloud-v3.3.5/agent/start.sh改为自己的agent实际部署路径
③ 给/etc/wgcloudAgent.local加可执行权限
[root@localhost~]# chmod +x /etc/wgcloudAgent.local
④ 最后两步,重新载入systemd服务和设置开机自启动,完成
[root@localhost~]# systemctl daemon-reload
[root@localhost~]# systemctl enable wgcloudAgent
# 查看是否为开机自启动
[root@localhost~]# systemctl is-enable wgcloudAgent
* 写在最后,还有一种方案没试过,可以了解一下:https://blog.csdn.net/Fenglin6165/article/details/86479383
参考:
1.https://www.jianshu.com/p/ca5ee5f7075c
2.https://www.wgstart.com/help/docs38.html