我有一个添加到AWS的Django项目。在开发服务器中,该站点可以正常运行,但是我无法将静态文件获取到AWS站点
下面是我的项目树,项目中有静态文件
以下是我的设置。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运行网站时,进入管理页面时也无法获取静态文件。 admin的静态文件也不在其中。如何在AWS中获取我的静态文件
@CoolestNerdIII的建议
答案 0 :(得分:0)
似乎在django设置文件中,您将静态文件目录定义为/home/samir/khal-events/src/Khal/staticfiles
(基于collectstatic
命令和settings.py
文件的屏幕截图)。
但是,在您的nginx配置文件中,您正在home/samir/khal-events/src/Khal/static
内寻找静态目录。您需要将其更改为正确的路径,并且一切顺利。 (表示使用/home/samir/khal-events/src/Khal/staticfiles
)
更新#1:
您应该从nginx中删除/static/admin
。另外,您可以尝试将/static
组复制为/static/
。进行更改后,请确保重新启动Nginx服务。
最后,如果这些都不能正确显示页面,请检查Web浏览器中的控制台日志以及nginx日志,因为它们通常指向信息加载不正确的地方。
更新#2:
location /static/ {
alias /home/samir/khal-events/src/Khal/staticfiles;
}
location /static {
alias /home/samir/khal-events/src/Khal/staticfiles;
}