【发布时间】:2019-04-13 00:19:44
【问题描述】:
我有一个添加到 AWS 的 Django 项目。在开发服务器中,该站点运行良好,但是我无法将静态文件获取到我的 aws 站点
下面是我的项目树,静态文件在项目中
下面是我的 settings.py
下面是我的 nginx 服务器
下面是我的supervisor.conf
[program:Khal]
command = /home/samir/KhalEventsVenv/bin/uwsgi --http :9000 --wsgi-file /home/samir/khal-events/src/Khal/Khal/wsgi.py
directory = /home/samir/khal-events/src/Khal/
user = root
autostart = true
autorestart = true
stdout_logfile = /var/log/Khal.log
stderr_logfile = /var/log/Khal_err.log
把 nginx 改成
server {
listen 80 default_server;
location /static/admin {
alias /home/samir/KhalEventsVenv/lib/python3.6/site-packages/django/contrib/admin/static/admin;
}
location /static/ {
alias /home/samir/khal-events/src/Khal/staticfiles;
}
页面仍然没有得到静态,见下图
我已经检查了路径。他们很好。但是由于某种原因,当我从 AWS 运行该站点时,当我进入管理页面时也没有获取静态文件。管理员的静态文件也不在那里。如何在 AWS 中获取我的静态文件
正如@CoolestNerdIII 所建议的那样
【问题讨论】:
-
您是否在服务器上运行过
python manage.py collectstatic命令?有关详细信息,请参阅docs。 -
@Anto 我刚刚在问题中添加了我的
supervisor.conf文件。要运行服务器,我会supervisorctl restart all -
如果您对服务器有 ssh 访问权限,只需到那里并在正确的目录中运行
python manage.py collectstatic,然后重新启动您的 wsgi 服务器。 -
@Anto 我做了 collectstatic 我更新了相关终端的图像。但仍然没有显示静态文件
-
您的静态文件(您在哪里收集静态文件)与 nginx 指向的位置不同
标签: django nginx amazon-ec2 django-staticfiles django-static