need to docker nginx configuration
this is how basic nginx setup works for a single service
字符串
nginx ├── Dockerfile ├ ── nginx.conf Dockerfile:
FROM nginx:1.21-alpine
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d
nginx.conf:
upstream hello_django {
server web:8000;
}
server {
listen 80;
location / {
proxy_pass http://hello_django;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
型
然后,在docker-compose.prod.yml中更新Web服务,将ports替换为expose:
- 然后更新web服务,在docker-compose中 *
web:
build:
context: ./app
dockerfile: Dockerfile.prod
command: gunicorn hello_django.wsgi:application --bind 0.0.0.0:8000
expose:
- 8000
env_file:
- ./.env.prod
depends_on:
- db
型
1条答案
按热度按时间nwlls2ji1#
要在Docker上使用Nginx和Gunicorn运行多个Django项目,您可以按照以下步骤操作:
字符串
docker-compose.yml
文件来定义每个Django项目的服务。型
nginx
目录。nginx
目录中,创建一个Nginx配置文件,例如nginx.conf
,以定义反向代理配置,用于将请求路由到相应的Django项目。型
型
通过遵循这些步骤,您可以在单独的Docker容器中使用Nginx和Gunicorn运行多个Django项目,每个项目监听不同的端口。Nginx反向代理配置根据指定位置将请求路由到相应的项目。
请记住根据您的项目名称、路径和特定要求自定义配置。
注意:确保本地计算机上的其他进程没有使用必要的端口(例如,80、8000、8001)。