Was ist Root in Bezug auf das Problem der Nginx-Standortkonfiguration?
阿神
阿神 2017-05-16 17:07:45
0
2
647

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.

Also habe ich darüber nachgedacht, ob es ein absoluter Pfad sein sollte, also habe ich ihn wie folgt geändert, den Prozess abgebrochen und neu gestartet:

//日志
"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 passt

Dann 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?

阿神
阿神

闭关修行中......

Antworte allen(2)
仅有的幸福

root是web根目录,建议使用绝对路径,相对路径受制于nginx的工作目录,存在不确定性

为情所困

root就是根目录呗,用绝对路径,这样不会出错

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage