我在CentOS上有两台服务器:Nginx(代理)+ Apache。 我需要重新启动Nginx,但如果我尝试在重新启动之前测试配置,我有下一个错误:
[root@vm5808 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
nginx: configuration file /etc/nginx/nginx.conf test failed
我如何解决这个问题?谢谢!
P.S。 Nginx有监听端口80,apache听81。
答案 0 :(得分:6)
我不知道为什么会出现这个错误,但是在我做完之后
[root@vm5808 ~]# /etc/init.d/nginx stop
Stopping nginx: [ OK ]
[root@vm5808 ~]# /etc/init.d/nginx start
Starting nginx: [ OK ]
错误消失了:
[root@vm5808 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
我在restart
和stop
之前尝试了start
,但是Nginx不会重启:
[root@vm5808 ~]# /etc/init.d/nginx restart
nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
nginx: configuration file /etc/nginx/nginx.conf test failed
答案 1 :(得分:2)
你的问题很简单,你似乎在端口80上都有nginx和apache监听,所以nginx找到已经在使用的端口,你需要将apache移动到另一个端口,例如81,并让nginx监听80 ,因为它是接收http请求并代理它的那个。
答案 2 :(得分:0)
检查apache中的所有虚拟主机,可能其中一个正在侦听端口80