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

135
Visualizações
no se pueden servir archivos estáticos con nginx en ec2 con django y gunicorn ejecutándose dentro del contenedor docker

Estoy usando la ventana acoplable a continuación componer 'local.yml' para ejecutar django en el servidor ec2

 services: django: &django build: context: . dockerfile: ./compose/local/django/Dockerfile image: name_docker container_name: django depends_on: - mariadb - mailhog volumes: - .:/app:z env_file: - ./.envs/.local/.django - ./.envs/.local/.mariadb oom_kill_disable: True deploy: resources: limits: cpus: '0.50' memory: '3G' ports: - "8000:8000" command: /start

comienza con el script start.sh que está escrito como

 #!/bin/bash set -o errexit set -o pipefail set -o nounset # python /app/manage.py collectstatic --noinput /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:8000 --timeout 10000 --workers 5 --threads 5 --chdir=/app

En ec2 después de la implementación, el servidor funciona bien con gunicorn.

Ahora agregué la configuración de nginx como

 server { listen 3000; server_name domain_name.in; access_log /var/log/nginx/django_project-access.log; error_log /var/log/nginx/django_project-error.log info; add_header 'Access-Control-Allow-Origin' '*'; keepalive_timeout 5; # path for staticfiles location /static { autoindex on; alias /static; } location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://0.0.0.0:8000; } }

Esta configuración también funciona bien y puedo acceder a ella localmente en example.in:3000.

Pero cuando trato de abrir la página de administración, no puedo ver los archivos estáticos allí.

También traté de recolectar estática con el siguiente comando

 docker-compose -f local.yml run --rm django python manange.py collectstatic --no-input

Los archivos se recopilan correctamente.

¿Qué debo hacer para servir los archivos estáticos?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Asigne su carpeta /app/static/ del contenedor a una carpeta en el host, digamos: /home/ec2/static/ y asegúrese de que su nginx tenga acceso allí.

 volumes: - /home/ec2/static/:/app/static

nginx.conf

 ... location /home/ec2/static/ { autoindex on; alias /static/; } ...
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