Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
nginx and django setting for docker-compose

I have setting with nginx and django(named python container).

I can access see the top page with localhost:8000, however I cannot fetch the static file nor use API localhost:8000/api/items

I am newbee for nginx and django so still confusing.

I am planning the setting like this belo

normal files browser ->8000 -> nginx -> 8001 ->django

for static file

django ->8000 -> nginx

am it correct???or where should I fix??

These are settings below.

docker-composer.yml

version: '3'
services:
  python:
    container_name: python
    build: ./python
    command: uwsgi --socket :8001 --module myapp.wsgi --py-autoreload 1 --logto /tmp/mylog.log

    expose:
      - "8001"
  nginx:
    image: nginx:1.13
    container_name: nginx
    ports:
      - "8000:8000"
    volumes:
      - ./nginx/conf:/etc/nginx/conf.d
      - ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
      - ./nginx/static:/static
    depends_on:
      - python

app_nginx.conf

upstream django {
    ip_hash;
    server python:8001;
}

server {
    listen      8000;
    server_name 127.0.0.1;
    charset     utf-8;

    location /static {
        alias /static;
    }

    location / {
        uwsgi_pass  django;
        include     /etc/nginx/uwsgi_params;
    }
}

server_tokens off;

uwsgi_prams

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Static files are generated on django management command collectstatic.

If run in django container - these files will be generated and present only in django container. So, STATIC_ROOT should be shared with nginx - i.e. one common docker volume mounted both to django container STATIC_ROOT and to nginx container static files path.

This command may be used as part of entrypoint script of django container to be auto-run on every start.

  python:
    volumes:
      - static-volume:/app/static

  nginx:
    volumes:
      - static-volume:/static

volumes:
  static-volume:

Or static files can be generated and provided to nginx /static in other way, i.e. as an artifact during ci build / deploy.


Or you can use whitenoise and make django serve its static files (but not media files).

Also, files can be stored (and distributed by) in cloud like Amazon S3.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda