-1

我有一个添加到 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 所建议的那样

在此处输入图像描述

4

2 回答 2

0

对我有用的只是改变我希望这会root有所帮助alias

于 2021-08-25T01:12:09.003 回答
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:

你应该/static/admin从你的nginx中删除。此外,您可以尝试使用 复制您的/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;
}
于 2018-11-09T12:41:02.963 回答