nginx启动/重启报错bind() to 0.0.0.0:1935 failed (98: Address already in use)

bind() to 0.0.0.0:1935 failed (98: Address already in use)

出现这种问题的原因是此1935端口已经被使用

常规方案:

lsof -i:1935查看哪一个进程占用了此端口,并使用指令kill -9 ***杀死此进程

此时问题已经得到解决,尝试再次启动nginx

特殊情况:

经过以上操作,可以将nginx启动,但是也有特殊情况存在。

当我使用 ps -elf | grep nginx时,发现nginx只有一个root进程

当我尝试启动nginx,提示bind() to 0.0.0.0:1935 failed

猜测是nginx已经启动,但是进程里面并未显示

于是采用nginx -s reload指令来重启,但是提示

这里reload使用pid number进行重启,此时并不知道pid number

应该先检查此路径下是否有nginx.pid文件,如果有,则检查conf文件,如果没有,直接对应路径新建一个文件即可。

进行到这里时,发现只有1935端口报错,所以再次检查nginx.conf文件

发现在conf文件中竟然有两个监听的1935,正是这里出现了问题

修改端口即可再次启动,重启等指令也恢复正常。

使用指令ps -elf | grep nginx可以看到,此时的master process正是nginx.pid中的number

至此,问题已经得到解决,猜测是之前进行图形化配置时出现了问题


 

posted @ 2021-03-04 11:21  Keep_Silent  阅读(106)  评论(0编辑  收藏  举报