当我通过nginx在example.org(而不是实际的IP)加载服务器时,内容显示正常。 但是,静态文件(如css和js)不显示。需要更改 以显示静态文件?我只是在nginx上执行python manage.py runserver来检查是否正在提供文件,但只有模板才会显示没有静态文件。Django静态文件和nginx
实际的静态文件夹(CSS/JS/IMG)是
/opt/myenv/myproject/myproject/static
我已经在/ etc/nginx的/网站可用/ myproject的作为
server {
listen 80;
server_name example.org; ##not actual ip
access_log /var/log/nginx/example.log;
location /static/ {
alias /opt/myenv/static/;
}
location/{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这是我对/opt/myenv/myproject/mysite/settings.py。
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')