在AWS-EC2上部署Django应用后无法加载静态文件

时间:2019-08-14 18:25:29

标签: django nginx amazon-ec2 gunicorn django-deployment

我是aws的初学者,我正在尝试在aws-ec2上部署Django应用。我已经设置了gunicorn应用服务器和nginx Web服务器和应用加载程序,但是没有静态文件。我已经对stackoverflow遵循了许多答案,但无法解决问题。

我尝试同时使用rootalias,但是它们没有用。项目结构如下: /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/"), )
...

1 个答案:

答案 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/)中的那些文件