一、背景
这个错误在重启nginx或者启动nginx的时候,经常会出现。我之前也一直认为出现这个错误是因为有程序占用了nginx的进程。但是知其然不知其所以然。每次报错都有点懵逼,所以这边一步步排查错误,做个记录。
二、排错过程
1、按照提示
//按照提示,执行此命令,查看错误原因
systemctl status nginx.service
由报错信息可知,nginx绑定80端口失败。详细错误请输入 -l 继续查看
2、继续跟踪错误
//查看错误的详情
systemctl status nginx.service -l
这里输入 -l 之后,说实话,差距并不大。原因还是绑定端口失败。
三、解决方案
1、查看此时占用80端口的程序
netstat -ntlp | grep 80
这里可以看到,80端口是被占用的 。我们再详细看看占用80的是什么
ps -ef | grep 80
然后找到pid,杀掉这些程序
//-s 9 代表的是快速强制的杀掉pid程序
kill -s 9 pid
2、杀到没有程序可杀为止,然后启动nginx

此时启动成功。
转载自:https://blog.youkuaiyun.com/LJFPHP/article/details/79102840
本文详细介绍了当Nginx在启动或重启时遇到80端口绑定失败的问题排查与解决步骤。首先,通过systemctl命令获取错误信息,确认80端口被占用。接着,使用netstat和ps命令找出占用端口的程序,并利用kill命令结束进程,最终成功启动Nginx。

被折叠的 条评论
为什么被折叠?



