suchen

Heim  >  Fragen und Antworten  >  Hauptteil

django - Was sind die Gründe, warum nach der Migration von Nginx zu Alibaba Cloud kein Zugriff auf statische Dateien mit 403-Fehlern möglich ist?

ps.s: Das Django-Projekt kann lokal erfolgreich ausgeführt werden, funktioniert jedoch nach der Migration zur Alibaba Cloud nicht.

Laufumgebung: ubuntu14.04+uwsgi+nginx+django1.9.

Dies ist ein Screenshot der Admin-Seite beim Zugriff auf Django. Alle CSS-Dateien können nicht geladen werden. Die detaillierte Fehlermeldung wird unten veröffentlicht.

Der Speicherort des Projekts in Alibaba Cloud ist /root/mysite.

/etc/nginx/site-enabled/mysite.conf lautet wie folgt

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>server {

    listen 8080;

    server_name www.domainname.com;

 

    location /static/ {

        alias /root/mysite/blog/static/;

    }

 

    location / {

        uwsgi_pass 127.0.0.1:8001;

        include     /etc/nginx/uwsgi_params;

    }

}</code>

Zusätzliche Frage: Alle statischen Dateien wurden in dem von meinem Alias ​​angegebenen Verzeichnis gesammelt

1

2

3

4

5

6

7

8

9

10

<code>$ python manage.py collectstatic

0 static files copied to '/root/mysite/blog/static', 69 unmodified.

 

# 文件权限没有问题

$ ll /root/mysite/blog/static

total 16

drwxrwxr-x 4 root root 4096 Oct  5 09:13 ./

drwxrwxr-x 6 root root 4096 Oct  5 15:28 ../

drwxrwxr-x 6 root root 4096 Oct  5 09:13 admin/

drwxrwxr-x 5 root root 4096 Oct  5 09:13 blog/</code>

1

2

3

4

<code># mysite/settings.py中已经指定了下面两项,**collectstatic**也收集成功,所以我觉得配置可能不存在问题

# 而且项目在本地能够运行,就是迁移到阿里云后无法运行了,所以是不是可能是阿里云的权限问题。

STATIC_URL="/static/"

STATIC_ROOT = os.path.join(BASE_DIR, 'blog/static')</code>

Dies ist die richtigeSeite

von localhost:8080/admin, als ich lokal experimentiert habe.

伊谢尔伦伊谢尔伦2874 Tage vor617

Antworte allen(2)Ich werde antworten

  • 怪我咯

    怪我咯2017-05-16 17:15:48

    1

    <code>alias /root/mysite/blog/static/;</code>

    /root 目录默认是只有 root 能访问的。其下的文件再怎么开放,nginx 进不去也没用。

    网站文件一般放在 /srv/http 下。

    另外,如果你不想让你的服务器被别人用来当肉鸡、攻击别人、发送垃圾邮件、作为免费代理的话,就不要用 root 权限跑 Web 程序。

    Antwort
    0
  • 阿神

    阿神2017-05-16 17:15:48

    我不太懂,我只是用阿里云ECS服务器搭建一下博客

    Antwort
    0
  • StornierenAntwort