gpt4 book ai didi

python - 用于服务多个 Django 应用程序 docker 容器的 nginx 反向代理配置问题

转载 作者:行者123 更新时间:2023-12-02 18:07:21 24 4
gpt4 key购买 nike

我在配置 Nginx 反向代理时遇到了问题

我的服务器上有一些带有 Django 网站的 docker 容器,并且我正在尝试使用 jwilder/nginx-proxy 为他们提供服务。

我做错了什么?

========项目结构========

nginx 代理

  • docker-compose.yml

django_project_A

  • 来源
    • django 文件(db.sqlite3 main_app manage.py django_project_A static)
  • docker-compose.yml
  • docker 文件
  • 配置
    • nginx
      • nginx.conf

django_project_B

... 与 django_project_A 相同

===============nginx-proxy docker-compose.yml==================

version: '3'

services:
nginx-proxy:
image: jwilder/nginx-proxy
restart: always
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro

networks:
default:
external:
name: nginx-proxy

===============django_project_A docker-compose.yml==================

version: '2'  
services:
nginx:
image: nginx:latest
container_name: nginx_django_project_A
ports:
- "80:8000"
volumes:
- ./src:/src
- ./src/static:/static
- ./config/nginx:/etc/nginx/conf.d
depends_on:
- web
web:
build: .
container_name: django_project_A
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py collectstatic --noinput && gunicorn django_project_A.wsgi -b 0.0.0.0:8000"
volumes:
- ./src:/src
- ./src/static:/static
expose:
- "8000"

networks:
default:
external:
name: nginx-proxy

===============django_project_A nginx.conf==================

upstream web {  
ip_hash;
server web:8000;
}

server {
location /static/ {
autoindex on;
alias /static/;
}
location / {
proxy_pass http://web/;
}

listen 8000;
server_name site.com;
}

===============django_project_A Dockerfile==================

FROM python:3.5  
ENV PYTHONUNBUFFERED 1
RUN mkdir /config
ADD /config/requirements.txt /config/
RUN pip install -r /config/requirements.txt
RUN mkdir /src;
WORKDIR /src

最佳答案

配置似乎很好,首先检查端口和连接。

从 web 容器检查你是否可以在 127.0.0.1:8000 上telnet 并且从 nginx 容器检查你是否可以 ping web。如果 ping 到 web 成功,请尝试 telnet web:8000。

如果一切正常,请在 host 上尝试在 host:80 上远程登录,因为它可能是主机上的防火墙阻止了传入流量。

关于python - 用于服务多个 Django 应用程序 docker 容器的 nginx 反向代理配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55755745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com