【发布时间】:2014-06-07 05:27:09
【问题描述】:
这是我的设置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = '/home/django-projects/tshirtnation/staticfiles'
这是我的 nginx 配置:
server {
server_name 77.241.197.95;
access_log off;
location /static/ {
alias /home/django-projects/tshirtnation/staticfiles/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
我运行了python manage.py collectstatic,它复制了所有静态文件。我用 gunicorn_django --bind:my-ip:8001 运行我的服务器,除了静态文件之外,一切似乎都在工作。
编辑: 我跑了
sudo tail /var/log/nginx/error.log
似乎没有找不到静态文件的错误:/
【问题讨论】:
-
首先,将你的
gunicorn_django命令改为gunicorn_django --bind=127.0.0.1:8001,因为当你使用外部ip运行它时,它会接受来自outside的连接。 -
@OmidRaha 现在它根本不起作用:/
-
您是否在 setting.py 文件中设置了 debug=False?
-
该 IP 由 Apache 服务器提供服务;你的 nginx 前面有 Apache 反向代理吗?如果不是,我希望在启动 nginx 时出现“地址已在使用”错误。
标签: python django nginx django-deployment