【问题标题】:Unable to load staticfiles after deploying django app on aws-ec2在 aws-ec2 上部署 django 应用程序后无法加载静态文件
【发布时间】:2019-12-21 07:59:53
【问题描述】:

我是 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/"), )
...

【问题讨论】:

  • 静态文件是什么?图片/字体/js/css/html ?
  • @RandyLam CSS、JS 和图像

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


【解决方案1】:

以下配置适用于我的项目

location ~* \.(jpe?g|gif|png)$ {
    root /home/ubuntu/myskillhut/static/;
    expires 1M;
}

location ~* \.(css|js)$ {
    root /home/ubuntu/myskillhut/static/;
    expires 1d;
}

另外,请确保 nginx 可以访问该目录 (../static/) 中的这些文件

【讨论】:

猜你喜欢
  • 2020-10-10
  • 2020-12-17
  • 2018-02-18
  • 2017-02-01
  • 2014-06-18
  • 2014-05-21
  • 2017-06-12
  • 2021-03-24
  • 2021-09-08
相关资源
最近更新 更多