突然我得到了下面的nginx错误
* Restarting nginx * Stopping nginx nginx ...done. * Starting nginx nginx nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] still could not bind() ...done. ...done.
如果我跑
lsof -i :80 or sudo fuser -k 80/tcp
我什么都没有。没有在端口80
然后我运行下面:
sudo netstat -pan | grep ":80" tcp 0 0 127.0.0.1:8070 0.0.0.0:* LISTEN 15056/uwsgi tcp 0 0 10.170.35.97:39567 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39564 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39584 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39566 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39571 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39580 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39562 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39582 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39586 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39575 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39579 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39560 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39587 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39591 10.158.58.13:8080 TIME_WAIT - tcp 0 0 10.170.35.97:39589 10.158.58.13:8080 TIME_WAIT -
我被骗了。
如何调试?
我使用uwsgi与
代理通过端口8070.uwsgi正在运行。 Nginx不是。我使用ubuntu 12.4
下面是我的nginx conf文件的相关部分
upstream uwsgi_frontend { server 127.0.0.1:8070; } server { listen 80; server_name 127.0.0.1; location = /favicon.ico { log_not_found off; } location / { include uwsgi_params; uwsgi_buffering off; uwsgi_pass 127.0.0.1:8070; } }
这里是如何在ubuntu 12.04上安装nginx
nginx=stable;add-apt-repository ppa:nginx/$nginx; apt-get update apt get install nginx-full
[::]:80是一个ipv6地址。
如果你有一个nginx配置监听端口80和端口[::]:80,可能会导致此错误。
我在我的默认网站 – 可用文件中有以下:
listen 80; listen [::]:80 default_server;
你可以通过添加ipv6only = on到[::]:80这样解决这个问题:
listen 80; listen [::]:80 ipv6only=on default_server;
有关详细信息,请参阅:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。