1. Vor einiger Zeit habe ich gelernt, Projekte vor und nach vue2 zu trennen. Nachdem die Demo abgeschlossen war, wollte ich sie lokal bereitstellen (da es keine Linux-Maschine gibt, kann ich die Bereitstellung nur auf Win7 simulieren). Beim Lernen der Nginx-Konfiguration bin ich auf ein unverständliches Problem gestoßen, die Root-Konfiguration in der Nginx-Serverkonfiguration. Das Problem ist wie folgt:
Laut offizieller Dokumentation habe ich Nginx unter Win7 gestartet, im Browser auf Localhost zugegriffen und eine normale Seite angezeigt Das heißt, Nginx wurde normal gestartet. Dann begann ich, die Konfiguration zu ändern.
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;
}
Ich habe in einigen Blogs gesehen, dass der Pfad zum Root tatsächlich der relative Pfad zu nginx.exe ist, also habe ich einen neuen dist-Ordner erstellt:
][1]
Er befindet sich auf der gleichen Ebene wie HTML und entspricht der Übereinstimmung Wenn ich zu diesem Zeitpunkt http://localhost/img besuche, ist die Priorität angegeben, aber das Ergebnis ist 404 , was im Protokoll zu sehen ist
D:\nginx\nginx-1.12.0/html/img/index.html" is not found
//D:\nginx\nginx-1.12.0是我的安装目录
nginx geht zum HTML-Ordner und sucht nach der index.html-Datei des IMG-Ordners. Was ich verstehe ist, dass selbst wenn Sie unter HTML danach suchen, es html/dist/index.html sein sollte, und das sollte nicht der Fall sein. Das ist sowieso kein Bild.
//日志
"D:\nginx\nginx-1.12.0/html/img/index.html" is not found
Ich bin immer noch auf der Suche nach diesem Weg und habe das Gefühl, dass mein zweiter Standort überhaupt nicht dazu passtDann habe ich mir den Leitfaden auf der offiziellen Website angesehen und den folgenden Absatz gesehen:
server {
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
Dann bekam ich noch mehr Kopfschmerzen. Der Pfad auf der offiziellen Website schien ein absoluter Pfad zu sein, aber woher er kam, wo er erstellt wurde, was konfiguriert oder installiert werden muss, konnte ich nicht herausfinden überhaupt aus der Wurzel Andere reguläre Übereinstimmungen, Priorität, Port, IP und Proxy können alle verstanden werden, aber der Root kann nicht herausfinden, was vor sich geht.
Ich hoffe, dass Freunde, die mit Nginx vertraut sind, mir im Detail erklären können, was mit dieser Wurzel los ist.
1. Was ist mit dem Root-Pfad passiert?
2. Wie ändere ich die IMG-Konfiguration, damit ich auf dist/app.html zugreifen kann?
root是web根目录,建议使用
绝对路径
,相对路径受制于nginx的工作目录,存在不确定性root就是根目录呗,用绝对路径,这样不会出错