这是部署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