我在使用docker nginx和gunicorn部署django项目时遇到问题

时间:2020-06-11 20:18:40

标签: django docker nginx gunicorn

如果我已经在服务器端运行了容器,并且一切正常,那么为了访问浏览器上的路由,我应该将具有域的nginx容器的ip放在etc / host中,否则它必须工作吗? 我的nginx.config

server {

    listen 80;

    server_name my_domain;

    root /code/;
    error_log /var/log/nginx/new_error.log debug;


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

    location /staticfiles/ {
        alias /code/staticfiles/;
    }

    location /mediafiles/ {
        alias /code/mediafiles/;
    }

}

其中web是我的运行gunicorn的docker-container

1 个答案:

答案 0 :(得分:0)

如果您的nginx容器具有使用标志-p <host_port>:<container_port>公开的端口,则可以访问nginx服务,在/ etc / hosts文件中添加指向您本地主机IP的域,但是,如果您不使用该标志需要指向nginx容器的ip。有什么区别?...公开端口时,即使在容器所在的主机之外也可以使用该服务。

希望对您有所帮助。

相关问题