【发布时间】:2020-11-17 12:06:20
【问题描述】:
我一直在这里Dockerize Django 关注本教程,以使用 Nginx 作为生产 Web 服务器对我的 django 应用程序进行 dockerize。但是,在我的 django 代码中,get_current_site(request).domain 返回 localhost,因此所有生成的 url 端点都具有域 localhost 而不是生产服务器域名。 我的 nginx.conf:here
upstream fullstack_application {
server web:8000;
}
server {
listen 80;
location / {
proxy_pass http://fullstack_application;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /static/ {
alias /home/app/web/static/;
}
location /media/ {
alias /home/app/web/media/;
}
}
我的生产 docker-compose.yml:here
version: "3.7"
services:
web:
build:
context: ./app
dockerfile: Dockerfile.prod
command: gunicorn fullstack_application.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/home/app/web/static
- media_volume:/home/app/web/media
expose:
- 8000
env_file:
- ./.env.prod
depends_on:
- db
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env.prod.db
nginx:
build: ./nginx
volumes:
- static_volume:/home/app/web/static
- media_volume:/home/app/web/media
ports:
- 1337:80
depends_on:
- web
volumes:
postgres_data:
static_volume:
media_volume:
请帮忙:(
【问题讨论】: