systemd - nginx服务管理
简介
在CentOS 7、CentOS 8 中都是使用systemd管理服务了。对于我们自己编译安装的nginx服务,默认是没有systemd的服务管理文件,可以手动创建一个就可以了。
创建service文件
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP Server daemon #必须加守护神不然会报错
# 描述信息
After=network.target remote-fs.target nss-lookup.target
# 指定启动nginx之前需要其他的其他服务,如network.target等
[Service]
Type=forking
# Type为服务的类型,仅启动一个主进程的服务为simple,需要启动若干子进程的服务为forking
ExecStart=/usr/local/nginx/sbin/nginx
# 设置执行systemctl start nginx后需要启动的具体命令。
ExecReload=/usr/local/nginx/sbin/nginx -s reload
# 设置执行systemctl reload nginx后需要执行的具体命令。
ExecStop=/bin/kill -s QUIT ${MAINPID}
# 设置执行systemctl stop nginx后需要执行的具体命令。
[Install]
WantedBy=multi-user.target
# 设置在什么模式下被安装,设置开机启动的时候需要有这个。
生效配置文件
systemctl daemon-reload
服务管理
启动服务:systemctl start nginx
关闭服务: systemctl restart nginx
重载配置:systemctl reload nginx
重启服务:systemctl restart nginx
开机启动服务:systemctl enable nginx
会发现命令有做一个软连接,这个就是为了开机启动:
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
检查是否开机启动:systemctl is-enabled nginx