我是Django开发和Nginx Configuration的新手。一旦使用gunicorn和Nginx将应用程序部署在Amazon EC2中,页面加载将不包含静态文件(css,js等)。
我怀疑Nginx无法加载静态文件。我花了几个小时尝试调整Nginx Config,并阅读其他答案,但还是没有运气。
朝正确方向的任何提示都值得赞赏。
/ etc / nginx / sites-available / sbs
server{
listen 80;
server_name my_server_host;
location = /favicon.ico {
access_log off; log_not_found off;
}
location /static/ {
autoindex on;
root /home/ubuntu/secure-banking-system/sbs/static/;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/secure-banking-system/sbs/sbs.sock;
}
}
settings.py
STATIC_ROOT = '/home/ubuntu/secure-banking-system/sbs/static'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'sbs/static')
]
我已经验证了静态文件在 /home/ubuntu/secure-banking-system/sbs/static/
档案结构
secure-banking-system
|
|──sbs
|
|────│
│
├── sbs
│ |
│ └── static
│ ├── css
│ ├── images
│ └── js
|
├── static
├── css
├── images
└── js
该root
指令不会/static
从请求中删除该零件。所以要求
http://my_server_hos/static/foo/test.png
将使Nginx在以下位置查找文件
/home/ubuntu/secure-banking-system/sbs/static/static/foo/test.png
。
了解这一点,该/static
位置的配置应为:
location /static {
autoindex on;
root /home/ubuntu/secure-banking-system/sbs;
}
另一种方法是使用alias
指令:
location /static {
autoindex on;
alias /home/ubuntu/secure-banking-system/sbs/static;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句