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

284
Visualizações
Configuración de nginx y django para docker-compose

Tengo una configuración con nginx y django (llamado contenedor de python).

Puedo acceder a la página principal con localhost:8000 , sin embargo, no puedo obtener el archivo estático ni usar API localhost:8000/api/items

Soy newbee para nginx y django, por lo que todavía es confuso.

Estoy planeando el escenario como este belo

browser ->8000 -> nginx -> 8001 ->django

para archivo estático

django ->8000 -> nginx

es correcto??? o donde debo arreglar??

Estos son los ajustes a continuación.

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

Los archivos estáticos se generan en el comando de administración de django, collectstatic .

Si se ejecuta en un contenedor de django, estos archivos se generarán y estarán presentes solo en el contenedor de django. Por lo tanto, STATIC_ROOT debe compartirse con nginx, es decir, un volumen docker común montado tanto en el contenedor django STATIC_ROOT como en la ruta de archivos estáticos del contenedor nginx.

Este comando se puede usar como parte del entrypoint de punto de entrada del contenedor django para que se ejecute automáticamente en cada inicio.

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

O los archivos estáticos se pueden generar y proporcionar a nginx /static de otra manera, es decir, como un artefacto durante la compilación/implementación de ci.


O puede usar whitenoise y hacer que django sirva sus archivos estáticos (pero no los archivos multimedia).

Además, los archivos se pueden almacenar (y distribuir) en la nube como 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