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 ?
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 incertituderoot est le répertoire racine, utilisez le chemin absolu, donc il n'y aura pas d'erreurs