Sto giocando con un progetto docker. Django + gunicorn in un contenitore, nginx in un altro contenitore.
Quando ho passato dal server di Django dev al gunicorn, ho notato che tutti i miei file statici non sono stati serviti. Ho cercato di risolvere questo problema da giorni pensando che fosse una questione di nginx, ma se visito il contenitore di Django / gunicorn (e non nginx), non vedo anche i file statici mostrati qui, quindi questo mi fa pensare non è un problema nginx, ma solo un semplice errore nelle impostazioni di Django?
Django settings.py
DEBUG = False STATIC_ROOT = os.path.join(PACKAGE_ROOT, "static1") STATIC_URL = "/static/" STATICFILES_DIRS = [ os.path.join(PACKAGE_ROOT, "static"), ] STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", ]
nginx
server { listen 80; server_name example.org; charset utf-8; location /static { alias /root/proj/proj/static; } }
Nota: ho impostato questo alias su / root / proj / proj / static perché questo è il path della directory in cui i file statici si trovano effettivamente all'interno del contenitore Django / gunicorn … Sono corretto impostare l'alias in questo path?
window mobile-composizione
parentserver: build: ./parentserver expose: - "8000" links: - postgres:postgres - authserver:authserver volumes: - /usr/src/app - /usr/src/app/static env_file: .env environment: DEBUG: 'true' command: ./startup.sh nginx: build: ./nginx/ ports: - "80:80" volumes: - /www/static volumes_from: - parentserver links: - parentserver:parentserver
I miei volumi sono sbagliati?
Apprezzerò i suggerimenti di feedback.