我是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/"), )
...
以下配置适用于我的项目
location ~* \.(jpe?g|gif|png)$ {
root /home/ubuntu/myskillhut/static/;
expires 1M;
}
location ~* \.(css|js)$ {
root /home/ubuntu/myskillhut/static/;
expires 1d;
}
此外,请确保nginx可以访问该目录(../static/)中的那些文件