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 中的第四点