您尚未登录。

公告

[通告] 本论坛迁移啦~请前往位于 https://forum.archlinuxcn.org/ 的新论坛。所有帖子和参与的用户都已经迁移。

您正在访问的是原 bbs.archlinuxcn.org 的静态存档。本页面的新地址位于 https://forum.archlinuxcn.org/t/topic/5475

#1 2011-11-28 18:07:09

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Nginx绑定IPv4和IPv6时80端口占用的解决

没有任何其他程序占用80端口,而是nginx自己先绑定了80端口,又重复绑定而造成的。有些人建议在nginx.conf文件中添加

listen [::]:80;

而事实上这种做法会导致重复绑定:

Starting nginx daemon: nginx[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: still could not bind()
nginx already running.

在Nginx论坛看到的,同时绑定IPv4和IPv6地址时应当写为:

listen 80;
listen [::]:80 ipv6only=on;

重启Nginx即可。

离线

页脚