centos7下如何自行在systemctl添加系统服务
以nginx为例
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t #系统服务执行前执行的命令,这里是在启动nginx之前先检查一下语法。
ExecStart=/usr/local/nginx/sbin/nginx #系统服务启动命令。
ExecReload=/usr/local/nginx/sbin/nginx -s reload #系统服务重新读取配置的命令。
ExecStop=/usr/local/nginx/sbin/nginx -s stop #系统服务停止的命令。
PrivateTmp=true
[Install]
WantedBy=multi-user.target #依赖配置,基本每个服务都需要加这行,不然无法使用systemctl enable来设置开机启动。
设置开机启动
systemctl enable nginx
!!!!!如遇到无法通过命令创建开机启动连接时,可以自行创建连接,
观察系统创建开机启动连接时的操作
此处的操作是将/usr/lib/systemd/system/下的系统服务脚本,创建以个软连接到/etc/systemd/system/multi-user.target.wants/下。
同理,当systemctl enable命令无法自动创建连接时,可执行如下命令:
ln -s /usr/lib/systemd/system/php.service /etc/systemd/system/multi-user.target.wants/php.service