Nginx端口占用—“nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)”

这是部署Wordpress时候的一个小插曲,当时在测试Nginx的配置文件的时候,重启了一下服务

 systemctl restart nginx

然后就出现了这个困扰我好久的问题:

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

我尝试了stackoverflow的方法:

sudo netstat -tulpn
sudo kill -2 <PID>    //sudo kill -9 $(lsof -t -i :443)
sudo service nginx restart
//Or alternatively
sudo fuser -k 443/tcp
sudo fuser -k 80/tcp

但是没有解决,但是就在反复的试,突然就这样了:

systemctl stop nginx.service
netstat -ltnp | grep 443
————————————————————————————
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      9863/nginx: master 
————————————————————————————

kill掉了还是重启不了,还是被占用,再查看发现还有个worker的进程

————————————————————————————
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      9864/nginx: worker 
————————————————————————————

再杀掉就能用了,我怀疑是nginx的配置问题。还不明确,如果有博文多学之士还请评论区教我

// nginx.conf
# worker_processes auto;
worker_processes 1;

nginx这东西,大力出奇迹,一直找一直杀总能成功

还得到一个教训,能reload就reload,少重启服务,都是爹👇

nginx -t            //测试配置文件
nginx -s reload     //重载配置文件

Useful links

Nginx will not start (Address already in use) – Stack Overflow

ubuntu – nginx – nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) – Stack Overflow

Linux netstat命令详解 – ggjucheng – 博客园 (cnblogs.com)

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注