centos7中设置nginx的systemctl启动方式
一、首先介绍下nginx自带的启动命令
nginx #启动
nginx -s reload #重启
nginx -s stop #停止
当然上面情况是,nginx的可执行文件路径有加到环境变量的情况,也可以使用nginx的可执行文件的绝对路径来执行nginx。
首先要找到nginx的可执行命令的位置 ,使用rpm -ql nginx
,可以发现nginx的可执行文件的路径在/usr/sbin/nginx
所以我们对nginx的命令可以换成:
/usr/sbin/nginx #启动
/usr/sbin/nginx -s reload #重启
/usr/sbin/nginx -s stop #停止
二、nginx的systemctl启动方式
systemctl
使用通过/usr/lib/systemd/system/
来对进程进行控制的,如果有是进程无法用systemctl命令来重启、停止等,很可能是里面对应的配置文件没有写对!
1.建立服务文件
(1)文件路径
vim /usr/lib/systemd/system/nginx.service
(2)服务文件内容
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
注意的是:这里的/usr/sbin/nginx 就是上面你找到的nginx的可执行文件的绝对路径。
(3)文件内容解释
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
(4)使文件生效
systemctl daemon-reload
2.使用systemctl命令来对nginx进程操作
systemctl start nginx #启动
systemctl stop nginx #关闭
systemctl restart nginx #重启
参考:https://blog.csdn.net/weixin_30858241/article/details/95775184?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task