在aws-ec2上部署django应用后无法加载静态文件

问题描述 投票:0回答:1

我是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/"), )
...
django nginx amazon-ec2 gunicorn django-deployment
1个回答
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/)中的那些文件

© www.soinside.com 2019 - 2024. All rights reserved.