recherche

Maison  >  Questions et réponses  >  le corps du texte

Concernant la question de la configuration de l'emplacement nginx, qu'est-ce que root ?

1. Il y a quelque temps, j'ai appris à séparer les projets avant et après vue2, une fois la démo terminée, j'ai voulu la déployer localement (car il n'y a pas de machine Linux, je ne peux simuler le déploiement que sur win7), mais quand je l'étais. en apprenant la configuration de nginx, j'ai rencontré un problème. Problème incompréhensible, la configuration racine dans la configuration du serveur nginx, le problème est le suivant :
Selon la documentation officielle, j'ai démarré nginx sur win7, j'ai accédé à localhost dans le navigateur et j'ai obtenu une page normale. , c'est-à-dire que nginx a démarré normalement. Ensuite, j'ai commencé à modifier la configuration.

    server {
        listen       80;
        server_name  localhost;
        
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  app.html app.htm;
        }

        location = /img  {
            root   dist;
            index  app.html app.htm;
        }    

J'ai vu sur certains blogs que le chemin vers root est en fait le chemin relatif vers nginx.exe, j'ai donc créé un nouveau dossier dist :
][1]
Il est au même niveau que le html, et la correspondance est étant donné la priorité comme indiqué sur Internet, le signe égal le plus élevé est configuré. Je pense que si je visite http://localhost/img à ce moment-là, ce chemin devrait ouvrir le fichier app.html dans dist, mais le résultat est 404. , que l'on peut voir dans le log. Venez à cette phrase :

.
D:\nginx\nginx-1.12.0/html/img/index.html" is not found
//D:\nginx\nginx-1.12.0是我的安装目录

nginx va dans le dossier html et recherche le fichier index.html dans le dossier img
Ce que je comprends, c'est que même si vous regardez sous html, il devrait être html/dist/index.html, et il ne devrait pas l'être. img quand même.

J'ai donc réfléchi à la question de savoir si cela devait être un chemin absolu, alors je l'ai modifié comme suit, j'ai arrêté le processus et redémarré :

//日志
"D:\nginx\nginx-1.12.0/html/img/index.html" is not found

Toujours à la recherche de ce chemin, j'ai l'impression que mon deuxième emplacement ne correspond pas du tout

Puis je suis allé regarder le document d'orientation sur le site officiel et j'ai vu le paragraphe suivant :

server {
    location / {
        root /data/www;
    }

    location /images/ {
        root /data;
    }
}

Ensuite, j'ai eu encore plus mal à la tête. Le chemin sur le site officiel semblait être un chemin absolu, mais d'où venait-il, où a-t-il été créé, ce qui doit être configuré ou ce qui doit être installé, je n'arrivais pas à comprendre. la racine du tout ;

Les autres correspondances régulières, priorité, port, IP et proxy peuvent tous être compris, mais la racine ne peut pas comprendre ce qui se passe.

J'espère que des amis qui connaissent nginx pourront m'expliquer en détail ce qui se passe avec cette racine.

1. Qu'est-il arrivé au chemin racine ?

2. Comment modifier la configuration img pour pouvoir accéder à dist/app.html ?

阿神阿神2753 Il y a quelques jours655

répondre à tous(2)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-16 17:09:45

    root est le répertoire racine Web. Il est recommandé d'utiliser 绝对路径 Le chemin relatif est soumis au répertoire de travail de nginx et il y a une incertitude

    .

    répondre
    0
  • 为情所困

    为情所困2017-05-16 17:09:45

    root est le répertoire racine, utilisez le chemin absolu, donc il n'y aura pas d'erreurs

    répondre
    0
  • Annulerrépondre