2017-03-14 6 views
0

Ich versuche, ein Docker-Compose mit Nginx, Sellerie, RabbitMQ und Django in einem Gunicorn-Server zu betreiben. Die Anwendung läuft gut ohne Nginx, aber in der Produktion brauche ich das Nginx, um die statischen Dateien zu bedienen und ein Error 502 Bad Gateway von Nginx zu bekommen, wenn ich es hinzufüge.Fehler 502 Bad Gateway Nginx und Sellerie Arbeiter

Unten ist die 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: 

Unten ist mein nginx.conf Datei:

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; 
    } 

} 

Weiß jemand, was das Problem verursacht werden kann? Die meisten Probleme, die bei Stackoverflow gemeldet werden, behandeln Proxyserver vor Selleriearbeitern nicht

Antwort

0

Das Problem ist, dass ich den Speicherort für alle meine CSS-Dateien angeben und mein Andock-Volume in der docker-compose.yml-Datei angeben musste. Danach hat alles gut funktioniert. Relativ trivial

Verwandte Themen