Centos7上添加自定义服务文件并开机启动

Ⅰ-1 写服务文件

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

[Service]   ##服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间

注意:启动、重启、停止命令全部要求使用绝对路径

[Install]  ##服务安装的相关设置,可设置为多用户

自定义开机服务示例:

【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

【rabbitmq-server.service】

[Unit]
Description=RabbitMQ broker
After=syslog.target network.target

[Service]
Type=notify
User=rabbitmq
Group=rabbitmq
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/sbin/rabbitmq-server
ExecStop=/usr/sbin/rabbitmqctl stop
NotifyAccess=all
TimeoutStartSec=3600

[Install]
WantedBy=multi-user.target

II-2 保存目录

chmod 754 ./* 的权限保存在目录:
/usr/lib/systemd/system 

III-3 设置开机自启动

任意目录下执行
systemctl enable nginx.service 

Ⅳ-4  其他命令

启动nginx服务
systemctl start nginx.service


设置开机自启动
systemctl enable nginx.service


停止开机自启动
systemctl disable nginx.service


查看服务当前状态
systemctl status nginx.service


重新启动服务
systemctl restart nginx.service


查看所有已启动的服务
systemctl list-units --type=service

原文地址:https://www.cnblogs.com/feixiablog/p/9907635.html