我正在尝试将django应用程序与wordpress一起部署在同一个域中。 Django应用程序应该在郊区:“domain.com/djangoapp”。我尝试在nginx conf文件和django settings.py中将SCRIPT_NAME变量设置为该前缀。它工作,django app可以在/ djangoapp url下访问,但静态文件不能加载。
我有以下nginx配置:
server {
server_name domain.com www.domain.com;
root /var/www/domain.com/htdocs;
index index.php index.html index.htm;
include common/redis.conf;
include common/wpcommon.conf;
location /static {
root /home/user/project;
}
location /djangoapp/ {
include proxy_params;
proxy_pass http://unix:/home/user/project/project.sock
proxy_set_header SCRIPT_NAME /djangoapp;
}
}
和settings.py:
FORCE_SCRIPT_NAME = '/djangoapp'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
此外,我尝试在单独的域上部署django应用程序,并且静态文件会加载。除SCRIPT_NAME部分外,配置相同。 有人可以帮忙吗?
答案 0 :(得分:0)
似乎静态文件由于位置路径中错过/
而未加载。或许我在静态目录的路径上做了一些错字。
我将位置更改为:
location /static/ {
root /home/user/project;
}
现在静态文件工作。