django - Quelles sont les raisons pour lesquelles les fichiers statiques ne sont pas accessibles avec des erreurs 403 après la migration de Nginx vers Alibaba Cloud ?
伊谢尔伦
伊谢尔伦 2017-05-16 17:13:48
0
2
523

p.s : Le projet Django peut s'exécuter avec succès localement, mais il ne fonctionne pas après la migration vers Alibaba Cloud.

Environnement d'exécution : ubuntu14.04+uwsgi+nginx+django1.9.

Ceci est une capture d'écran de la page d'administration lors de l'accès à Django. Tous les fichiers CSS ne peuvent pas être chargés. Le message d'erreur détaillé est publié ci-dessous.

L'emplacement du projet dans Alibaba Cloud est /root/mysite.

/etc/nginx/site-enabled/mysite.conf est le suivant

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;
    }
}

Question supplémentaire : tous les fichiers statiques ont été collectés dans le répertoire spécifié par mon alias

$ 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/
# mysite/settings.py中已经指定了下面两项,**collectstatic**也收集成功,所以我觉得配置可能不存在问题
# 而且项目在本地能够运行,就是迁移到阿里云后无法运行了,所以是不是可能是阿里云的权限问题。
STATIC_URL="/static/"
STATIC_ROOT = os.path.join(BASE_DIR, 'blog/static')

C'est la correctepage

de localhost:8080/admin lorsque j'expérimentais localement.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(2)
刘奇
alias /root/mysite/blog/static/;

/root Le répertoire n'est accessible que par root par défaut. Peu importe l’ouverture des fichiers qu’ils contiennent, cela ne sert à rien si nginx ne peut pas y accéder.

Les fichiers du site Web sont généralement placés sous /srv/http.

De plus, si vous ne voulez pas que votre serveur soit utilisé comme un poulet de chair, attaque d'autres personnes, envoie du spam ou serve de proxy gratuit, n'exécutez pas de programmes Web avec les privilèges root.

阿神

Je n'y connais pas grand chose, je viens d'utiliser le serveur Alibaba Cloud ECS pour créer un blog

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!