linux下脚本设置开机自启服务

1.写服务文件:如demo.service

[Unit]:服务的说明
Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置
Type=forking            是后台运行的形式
ExecStart               为服务的具体运行命令
ExecReload              为服务的重启命令
ExecStop                为服务的停止命令
PrivateTmp=True         表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

[Install]               服务安装的相关设置,可设置为多用户
WantedBy=multi-user.target 

2.赋予service文件(chmod 754 xxxx.service)权限,目录路径:/usr/lib/systemd/system

3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload

设置开机自启动
[root@localhost ~]# systemctl enable demo.service       

停止开机自启动 [root@localhost ~]# systemctl disable demo.service

验证一下是否为开机启动
[root@localhost ~]# systemctl is-enabled demo

4.其他命令

启动nginx服务
[root@localhost ~]# systemctl start nginx.service

停止nginx服务 [root@localhost ~]# systemctl start nginx.service
重启nginx服务 [root@localhost ~]# systemctl restart nginx.service
查看nginx服务当前状态 [root@localhost ~]# systemctl status nginx.service
查看所有已启动的服务 [root@localhost ~]# systemctl list-units --type=service

5.服务文件示例:

# nginx.service服务文件
[Unit] Description=nginx - high performance web server After=network.target remote-fs.target nss-lookup.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 stop
[Install] WantedBy=multi-user.target
# redis.service服务文件
[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target

[Service] Type=forking ExecStart=/usr/local/bin/redis-server /etc/redis.conf ExecStop=kill -INT `cat /tmp/redis.pid` User=www Group=www
[Install] WantedBy=multi-user.target

转自  https://www.cnblogs.com/liuhaidon/archive/2019/09/19/11549997.html   中的第四点

原文地址:https://www.cnblogs.com/brxHqs/p/12767052.html