Nginx 服务无法启动排查

2026-01-07 16:45:57 305

欢迎来到8455线路检测中心技术小课堂。


一、查看服务状态与日志

 

查看服务状态

systemctl status nginx

查看输出中的错误信息,如 Job for nginx.service failed或具体错误提示。

 

 

查看错误日志

tail -n 50 /var/log/nginx/error.log

重点关注 [error][crit]级别的日志,如 bind() to 0.0.0.0:80 failed(端口冲突)、Permission denied(权限不足)等。

 

二、检查配置文件语法

 

测试配置文件语法

nginx -t

若输出 syntax is oktest is successful,说明配置文件无误;若提示错误(如 unexpected end of file),根据行号修正 /etc/nginx/nginx.conf/etc/nginx/sites-available/中的配置文件。

 

三、检查端口占用

 

查看端口占用情况

netstat -tuln | grep :80

ss -lntp | grep :80

 lsof -i:80

80/443 端口被其他进程(如 ApacheTomcat)占用,需停止占用服务或修改 Nginx 监听端口。

 

 

处理端口冲突

停止占用端口的服务:systemctl stop httpdApache

或修改 Nginx 配置中的 listen指令为其他端口(如 8080)。

 

四、检查文件权限

 

检查目录权限

ls -la /etc/nginx/

ls -la /var/log/nginx/

ls -la /var/www/html/

确保 Nginx 用户(如 nginxwww-data)对配置文件、日志目录和网站根目录有读写权限。

 

 

修复权限

chown -R nginx:nginx /etc/nginx/

chown -R nginx:nginx /var/log/nginx/

chown -R nginx:nginx /var/www/html/

chmod 755 /var/log/nginx/

若使用 SELinux,需临时禁用或调整策略:setenforce 0(临时禁用)。

 

五、重启服务并验证

 

重启 Nginx

systemctl restart nginx

systemctl status nginx

若状态显示 active (running),说明启动成功;若仍失败,根据新的错误日志重复上述步骤。

 

 

验证访问

curl http://www.landui.com

若返回正常响应,说明 Nginx 已正常运行。

 

六、其他常见问题

 

资源限制

检查系统资源限制(如打开文件数、进程数),可通过修改 /etc/security/limits.conf提高限制。

 

 

残留 PID 文件

Nginx 进程未正常终止,可能残留 PID 文件导致启动失败: rm -f /var/run/nginx.pid systemctl start nginx

 

 

依赖模块缺失

若日志提示 module "xxx" is not loaded,需安装对应依赖或重新编译 Nginx

 

七、快速排查流程

 

查看服务状态:systemctl status nginx

 

查看错误日志:tail -n 50 /var/log/nginx/error.log

 

检查配置语法:nginx -t

 

检查端口占用:netstat -tuln | grep :80

 

检查权限:ls -la /etc/nginx/

 

重启服务:systemctl restart nginx

 

 

8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,8455线路检测中心期待与你一起探索。



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图