首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用配置nginx时网关错误。Django应用程序容器和Gunicorn

使用配置nginx时网关错误。Django应用程序容器和Gunicorn
EN

Stack Overflow用户
提问于 2020-08-21 07:18:58
回答 1查看 72关注 0票数 0

我正在使用docker-compose在一个安装了Nginx作为web服务器的虚拟机上部署Django应用程序。

但是我收到了“502 Bad gateway”,我相信这是一个网络问题,我认为Nginx无法访问docker容器!然而,当我在Nginx容器中使用相同的配置时,它与Django应用程序工作得很好,但我需要使用已安装的配置,而不是带有docker的配置。

这是我的docker-compose文件:

代码语言:javascript
复制
version: "3.2"
services:
  web:
    image: ngrorra/newsapp:1.0.2
    restart: always
    ports:
      - "8000:8000"
    volumes:
      - type: volume
        source: django-static
        target: /code/static
      - type: volume
        source: django-media
        target: /code/media
    environment:
      - "DEBUG_MODE=False"
      - "DB_HOST=…”
      - "DB_PORT=5432"
      - "DB_NAME=db_1”
      - "DB_USERNAME=username1111"
volumes:
  django-static:
  django-media:

这是我的nginx.conf文件:

代码语言:javascript
复制
upstream web_app {
    server web:8000;
}

server {
    listen   80;

    location /static/ {
        autoindex on;
        alias   /code/static/;
    }

    location /media/ {
        autoindex on;
        alias   /code/media/;
    }

    location / {
        proxy_pass http://web_app;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;

    }
    #For favicon
    location  /favicon.ico {
        alias /code/assets/favicon.ico;
    }

    # Error pages
    error_page 404 /404.html;
    location = /404.html {
        root /code/templates/;
    }
}

有人知道问题出在哪里吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-08-21 09:09:29

如上所述,使用"web“作为主机名将不起作用,您可以尝试使用localhost或docker ip (例如,您可以在Ubuntu中使用ifconfig获得它)。

对于网络问题,我认为您可以使用docker network create并添加到您的“网络”definition inside compose中来创建一个新的docker外部网络。另一种可能是使用host as network

当我使用Nginx运行docker应用程序时,通常我首先使用定义的IP创建一个外部docker网络(使用某个docker网络IP -通常是172.x.x.x),然后将一个Nginx容器添加到我的docker-compose.yaml中,我在nginx.conf中的服务器是这样的:

代码语言:javascript
复制
upstream web_app {
    server 172.x.x.x:8000;
  }
.
.
.

它工作起来没有任何问题。希望这能对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63514392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档