繁体   English   中英

Nginx端口80错误

[英]Nginx error with port 80

我试图让我的Django应用程序在VPS上运行,并且根据本教程进行了所有操作 ,但出现502错误。

我假设nginx正在监听端口80(是吗?),因为sudo netstat -nlp | grep 80 sudo netstat -nlp | grep 80抛出:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      892/nginx
tcp6       0      0 :::80                   :::*                    LISTEN      892/nginx
unix  2      [ ACC ]     STREAM     LISTENING     8942     805/acpid           /var/run/acpid.socket

但是当我输入sudo nginx ,似乎Nginx 没有监听端口80 ...:

`nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 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 [::]:80 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 [::]:80 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 [::]:80 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 [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()`

我的Nginx配置:

server {
server_name 95.85.34.87;

access_log off;

location /static/ {
    alias /opt/myenv/static/;
}

location / {
    proxy_pass http://127.0.0.1:8001;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}

有人可以帮我吗?

我在netstat输出中看到的是,nginx 已经在您的系统上运行。 在Debian或Ubuntu等系统上,可能还有其他* nix系统上,当您安装nginx时,它会被安装,以便在系统启动时启动。 然后,当您尝试从命令行运行它时,您正在运行另一个实例,该实例试图使用与启动时启动的实例相同的端口。 在Debian或Ubuntu系统上,您可以通过以下操作停止nginx的启动:

$ sudo service nginx stop
$ sudo rm /etc/nginx/sites-enabled/default

删除默认值将阻止它再次启动。 该默认文件是/etc/nginx/sites-available/default的符号链接,因此您可以根据需要轻松地重新创建它。

或者,如果要使启动时启动的Nginx保持在其端口上运行,则可以使用从命令行使用其他端口启动的Nginx配置,例如:

server {
        listen 3333 default_server;
        listen [::]:3333 default_server ipv6only=on;

附加说明:如果你把你的网站中/etc/nginx/sites-enabled/那么你一定不能从命令行启动Nginx的实例。 您只应通过sudo service nginx [...]控制nginx。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM