启动nginx报错:98:Address already in use
一、问题
某天发现域名ssl证书过期了,重新给域名配置了ssl证书,重启报错:
二、过程
1、查找原因(可以不看)
一开始以为是端口被占用,停掉对应的端口进程就行了,于是挨个停一遍
完了发现不对啊,并没有作用,启动还是报这个错。
那看看80端口跑了什么
那看看网络相关的端口,使用如下命令查找
netstat -ntpl
解释:
拒绝显示别名,能显示数字的全部转化成数字,(tcp)仅显示tcp相关选项,显示建立相关链接的程序名,仅列出有在 Listen (监听) 的服務状态。
netstat详情可以查看这篇博客。
然后停掉对应的进程,注意 PID 列才是对应的进程id
kill 1322
可以看到这几个端口都是同一个进程。
再次启动nginx
systemctl start nginx
成功了。
2、解决办法
使用如下命令查看对应占用进程端口
netstat -ntpl
使用 PID 列下的进程id停掉进程
kill 1322
再次启动就可以了。
systemctl start nginx