使用Apache / Gunicorn部署Django静态文件

时间:2018-05-31 09:52:28

标签: django apache gunicorn

我正在使用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 :(得分:0)

我认为ProxyPass /static/ !的排除应该在ProxyPass /

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

否则静态请求将被发送到gunicorn,后者将返回404。

ProxyPass documentation说:

  

按配置顺序检查配置的ProxyPass和ProxyPassMatch规则。匹配胜利的第一条规则。