Развертывание статических файлов Django с помощью Apache / Gunicorn - PullRequest
0 голосов
/ 31 мая 2018

Я использую Apache2 с Gunicorn / Django для развертывания моего приложения.Однако мое приложение не отображает статические файлы, такие как таблицы CSS и т. Д.

Я читаю много тем, но думаю, что мне нужна помощь, потому что я, вероятно, что-то пропустил ...

Setting.py

ALLOWED_HOSTS = ['localhost']

STATIC_URL = '/static/'
STATICFILES_DIRS = ( os.path.join('static'), )
STATIC_ROOT = '/var/www/media/myapp/static/'

Apache2 VHost

<VirtualHost *:80>
    ServerName myapp.fr
    ServerAlias www.myapp.fr myapp.fr

    DocumentRoot /home/django-project/myapp/

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://localhost:9000/

    ProxyPass /static/ !
    Alias /static/ /var/www/media/myapp/static/

    <Directory /home/django-project/myapp/>
        Order deny,allow
        Allow from all
        Options -Indexes
    </Directory>

</VirtualHost>

1 Ответ

0 голосов
/ 31 мая 2018

Я думаю, что исключение для ProxyPass /static/ ! должно предшествовать ProxyPass /

ProxyPass /static/ !
ProxyPass / http://localhost:9000/
Alias /static/ /var/www/media/myapp/static/

В противном случае статический запрос будет отправлен на gunicorn, который вернет 404.

Документация ProxyPass гласит:

Сконфигурированные правила ProxyPass и ProxyPassMatch проверяются в порядке конфигурации.Первое соответствующее правило выигрывает.

...