驰网飞飞 发表于 7 天前

CentOS系统安装部署nginx后提示找不到nginx.service单元怎么办?

遇到 `nginx.service` 找不到的问题,通常是因为 systemd 没有正确识别或配置 nginx 的服务文件。首选确定安装了nginx,比如我们将nginx安装目录是【/usr/local/nginx/】,然后我们在创建所需要的Systemd服务文件,以下是详细解决步骤:

创建Systemd服务文件
使用文本编辑器创建服务文件:
sudo vi /etc/systemd/system/nginx.service
复制粘贴如下内容代码:

Description=The Nginx HTTP and reverse proxy server
After=network.target


Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true


WantedBy=multi-user.target注意:如果您的nginx.pid路径不同(检查nginx.conf中的pid指令),请修改PIDFile的路径,如果不确定可以去nginx目录下的/usr/local/nginx/conf/【nginx.conf】,要是找不到就将【PIDFile】注释【#PIDFile】,设置好之后如图:



重新加载Systemd配置
sudo systemctl daemon-reload启动Nginx并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
检查Nginx状态
sudo systemctl status nginx
查看具体错误日志
运行以下命令,获取详细的错误原因:
systemctl status nginx.servicejournalctl -xe -u nginx.service重点关注日志中的 红色错误提示(如配置文件错误、端口冲突等)。

如图所示,找不到日志文件,所以我们直接在后台新建即可。



权限问题:
确保Nginx安装目录的权限允许运行:
sudo chown -R www-data:www-data /usr/local/nginx/
根据实际运行用户调整,还可以尝试手动停止残留进程:

如果之前通过其他方式启动过Nginx,先结束进程:
sudo pkill nginx完成上述步骤后,您应该能够通过`systemctl`管理Nginx服务。

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: CentOS系统安装部署nginx后提示找不到nginx.service单元怎么办?

点击直接加入[服务器大本营QQ频道]