Ошибка 502 Bad Gateway Nginx и Сельдерей
Я пытаюсь запустить docker-compose с Nginx, Celery, RabbitMQ и Django на сервере Gunicorn. Приложение работает нормально без Nginx, но в производственном процессе мне нужен Nginx для обслуживания статических файлов и получения Error 502 Bad Gateway
из Nginx, когда я его добавлю.
Ниже приведено описание docker-compose:
version: "2"
services:
web:
build: ./web
expose:
- "8000"
depends_on:
- redis
- postgres
- rabbit
volumes:
- .:/app
env_file: .env
environment:
DEBUG: 'true'
command: /usr/local/bin/gunicorn api.wsgi:application -w 2 -b :8000
nginx:
build: ./nginx/
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
rabbit:
hostname: rabbit
image: rabbitmq:latest
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=mypass
ports:
- "5672:5672"
- "15672:15672"
postgres:
image: postgres:latest
volumes:
- db-data:/var/lib/postgresql/data
redis:
image: redis:latest
volumes:
db-data:
Ниже мой файл Nginx.conf:
server {
listen 80;
server_name example.org;
charset utf-8;
location /static {
alias /usr/src/app/static;
}
location / {
proxy_pass http://web:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Кто-нибудь знает, что может быть причиной проблемы? Большинство проблем, описанных в stackru, не связаны с прокси-серверами, работающими перед сельдереями.
1 ответ
Решение
Проблема в том, что мне пришлось указать местоположение для всех моих css-файлов и указать мой том докера в файле docker-compose.yml. После этого все работало хорошо. Относительно тривиально