我安装好nginx后,发现不能使用systemctl start nginx或者systemctl stop nginx来控制启停
解决方法如下
首先要建一个nginx.pid的文件
一般是建在 /var/run/这个路径下面
sudo touch /var/run/nginx.pid
添加权限
sudo chmod 644 /var/run/nginx.pid
可以进入到该路径查看是否正确生成
然后找到nginx.conf的文件
我的是在/usr/local/nginx/conf这个路径
编辑文件
vim nginx.conf
将pid 的路径编辑成刚刚我们的路径,如下图
然后我们要新建一个nginx.service的文件
sudo vi /etc/systemd/system/nginx.service
然后往里面编辑内容,主要如下:
[Unit]
Description=nginx - high performance web server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PIDFile=/var/run/nginx.pid
PrivateTmp=true[Install]
WantedBy=multi-user.target
然后保存
在创建完服务单元文件后,需要通知 systemd 并加载该服务单元文件。执行以下命令:
sudo systemctl daemon-reload
现在你可以启动 nginx
服务了:
sudo systemctl start nginx
要停止 nginx
服务,可以使用以下命令:
sudo systemctl stop nginx
还可以使用 systemctl restart nginx
来重启 nginx
服务,systemctl reload nginx
来重新加载 nginx
配置文件