我正在用 Django、NGINX 和 Docker 構建我的第一個專案。下面nginx.conf:
upstream project {
server website:8000;
}
server {
listen 80;
server_name MY-DOMAIN;
location / {
proxy_pass http://project;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
client_max_body_size 4G;
}
location /static/ {
alias /app/static-folder/;
}
location /media/ {
alias /app/media-folder/;
}
}
和docker-compose:
version: '3.7'
services:
website:
container_name: web_project
image: project/django
build: ./djangodocker
restart: always
env_file: prod.env
command: sh -c "cd djangodocker/ &&
gunicorn djangodocker.wsgi:application --bind 0.0.0.0:8000"
volumes:
- static-folder:/app/static-folder
- media-folder:/app/media-folder
expose:
- 8000
nginx:
container_name: nginx_web_project
image: project/nginx
build: ./nginx
volumes:
- static-folder:/app/static-folder
- media-folder:/app/media-folder
ports:
- 8000:80
depends_on:
- website
volumes:
static-folder:
media-folder:
我可以構建影像,但無法在正確的 url 中看到該網站。我看到網站位于 MY-DOMAIN:8000 而不是 MY-DOMAIN,這是我的問題。
uj5u.com熱心網友回復:
你把nginx埠映射到8000埠就行了
- 8000:80
在您的 docker-compose 檔案中。將其更改為
- 80:80
這樣,nginx 監聽主機上的 80 埠,您不需要指定埠號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/367657.html
下一篇:檔案被洗掉后掛載的docker卷
