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
至此,问题已经得到解决,猜测是之前进行图形化配置时出现了问题