无法到达Nginx(proxy_pass)+ Gunicorn

时间:2019-09-20 07:57:33

标签: python django nginx gunicorn

我想使用gunicorn和nginx在远程Ubuntu VPS上运行django作为代理服务器。

该网站可与 djangos开发服务器一起使用:

python manage.py runserver 0.0.0.0:8000

该网站可与 gunicorns服务器一起使用(即使静态文件也不起作用):

gunicorn my_project.wsgi --bind 0.0.0.0:8000

但是在顶部出现 nginx 时,出现以下错误:

  

无法访问此站点...拒绝连接。 ERR_CONNECTION_REFUSED

nginx日志文件error.logaccess.log均为空。

这是我配置nginx的方式:

server {
        listen 80;

        server_name my_ip_address;

        location / {
            proxy_pass http://127.0.0.1:8001;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Scheme $scheme;
        }
} 

在这种情况下,金枪鱼当然会以--bind 127.0.0.1:8001运行。

状态检查(service nginx status)返回:

● nginx.service - A high performance web server and a reverse proxy server
Active: active (running) since Fri 2019-09-20 07:41:00 UTC; 1min 19s ago
Starting A high performance web server and a reverse proxy server...
nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Started A high performance web server and a reverse proxy server.

1 个答案:

答案 0 :(得分:1)

首先,使用var_list检查您的配置。您发布的配置作为独立配置文件无效,但是我假设您使用的是具有主要nginx -tnginx.confsites-available主目录的通用nginx配置结构。

如果没有投诉,请输入错误信息,例如移除右方括号,然后重试。如果仍然没有问题,则nginx不会选择您的配置。

在这种情况下,请检查是否创建了从sites-enabledsites-enabled/your_config的正确符号链接。

如果一切似乎正确:

  • 检查nginx是否正在实际运行:sites-available/your_config
  • 检查nginx是否正在监听端口80:ps aux | grep nginx
  • 检查防火墙规则