我是aws的初学者,我正在尝试在aws-ec2
上部署Django应用。我已经设置了gunicorn
应用服务器和nginx
Web服务器和应用加载程序,但是没有静态文件。我已经对stackoverflow遵循了许多答案,但无法解决问题。
我尝试同时使用root
和alias
,但是它们没有用。项目结构如下:
/home/ubuntu/myskillhut/
django.conf(nginx配置文件)
server {
...
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/myskillhut/app.sock;
}
location /static/ {
autoindex on;
alias /home/ubuntu/myskillhut/static/;
}
}
settings.py
...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/"), )
...
答案 0 :(得分:0)
以下配置适用于我的项目
location ~* \.(jpe?g|gif|png)$ {
root /home/ubuntu/myskillhut/static/;
expires 1M;
}
location ~* \.(css|js)$ {
root /home/ubuntu/myskillhut/static/;
expires 1d;
}
此外,请确保nginx可以访问该目录(../static/)中的那些文件