今天在测试Nginx功能的时候,出现问题如下:
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8083 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:7091 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:7092 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8081 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
原因是:
在测试过程中,关闭过rtmp的端口号,./kill -9 pid(rtmp:1935)
结果在启动 Nginx时,./nginx -c /usr/local/nginx/conf/nginx.conf
出现上述错误
结果过程如下:
首先用lsof -i:80看下80端口被什么程序占用。lsof返回结果如下:
[root@localhost sbin]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 63170 root 9u IPv4 14243472 0t0 TCP *:http (LISTEN)
关闭进程:kill -9 63170
重新启动Nginx:[root@localhost sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf
问题解决