Django nginx+的问题;gunicorn解析静态内容
我正在用django应用程序(askbot开源项目)、gunicorn和nginx建立一个环境。在不同的docker容器中使用nginx和gunicorn 这是我的nginx配置Django nginx+的问题;gunicorn解析静态内容,django,nginx,askbot,Django,Nginx,Askbot,我正在用django应用程序(askbot开源项目)、gunicorn和nginx建立一个环境。在不同的docker容器中使用nginx和gunicorn 这是我的nginx配置 server { listen 80; location /static { alias /askbot/static; } location /m { alias /askbot/static; }
server {
listen 80;
location /static {
alias /askbot/static;
}
location /m {
alias /askbot/static;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://askbot:8080/;
}
}
如果我在调试模式下运行django应用程序,一切都正常,我可以通过nginx查看nginx如何仅为动态内容调用gunicorn,静态内容在本地解析
但是,当我使用debug false运行django应用程序时,nginx不会旋转静态内容,如果我看到网页的源代码,我可以看到静态内容的所有路径都已更改,使用诸如“/m/CACHE…”之类的符号。我想这就是nginx无法解析静态内容的原因
例如,当使用debug mode等于true时,这是html源代码的一个片段
<link rel="stylesheet" href="/m/CACHE/css/9275d0e5b87f.css" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=cyrillic-ext" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/m/default/media/jslib/modernizr.custom.js?v=1"></script> <script type="text/javascript">
当使用debug equals false运行时,相同的片段如下所示
<link href="/m/default/media/style/style.css?v=1" rel="stylesheet" type="text/css" /> <link href="/m/default/media/fa-4.3.0/css/font-awesome.css?v=1" rel="stylesheet" type="text/css" /> <link href="/m/default/media/bootstrap/css/bootstrap.css?v=1" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=cyrillic-ext" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/m/default/media/jslib/modernizr.custom.js?v=1"></script> <script type="text/javascript">
我已经讨论这个问题两天了,有人能解释一下为什么会发生这种情况,以及如何修复吗?以不同的方式配置nginx,或者禁用django来实现这种行为
提前感谢,,
Esteban Collado好的,我解决了我的问题 这是由settings.py文件中包含的压缩程序应用程序引起的
INSTALLED_APPS = (
...
'compressor'
...
)
我部署的django应用程序需要该应用程序,因此我所做的是禁用添加到同一文件的压缩
COMPRESS_ENABLED = False
现在,我没有看到我在问题中描述的行为,所有静态字段都添加到URL中的缓存文件夹中
比尔,
Esteban Collado你看过吗?运行python manage.py collectstaticHi@JamesBirkett是的,我看过了。无论如何,我能够解决我的问题,问题是压缩机应用程序负责我的行为,我禁用了压缩添加到settings.py文件COMPRESS_ENABLED=False。