Heim > Betrieb und Instandhaltung > Nginx > So konfigurieren Sie Nginx an mehreren Standorten

So konfigurieren Sie Nginx an mehreren Standorten

王林
Freigeben: 2023-05-17 22:25:45
nach vorne
2613 Leute haben es durchsucht

Vorwort

Die Konfiguration mehrerer Standorte unter dem Nginx-Server führt je nach Pfadzuordnung zu unterschiedlichen Verarbeitungen.

nginx häufig verwendete reguläre Ausdrücke

Grammatikregeln: Ort [=|~|~*|^~] /uri/ { … }

  • = Der Anfang bedeutet: genaue Übereinstimmung.

  • ^~ Der Anfang bedeutet: Es unterscheidet zwischen Groß- und Kleinschreibung und beginnt mit etwas.

  • ~ Der Anfang bedeutet: Groß-/Kleinschreibung beachtender regulärer Vergleich. Der Anfang von

  • ~* bedeutet: regulärer Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung.

  • !~ und !~* repräsentieren jeweils: Groß-/Kleinschreibung berücksichtigende Nichtübereinstimmung und Groß-/Kleinschreibung berücksichtigende Nichtübereinstimmung reguläre Übereinstimmung.

  • / bedeutet: Universelles Matching, jede Anfrage wird gematcht.

Bei mehreren Standortkonfigurationen ist die Übereinstimmungsreihenfolge (nicht überprüft):

Erste Übereinstimmung =, zweitens Übereinstimmung ^~, zweitens reguläre Übereinstimmung in der Reihenfolge in der Datei und schließlich übergeben an / universell passend. Wenn ein Abgleich erfolgreich ist, wird der Abgleich gestoppt und die Anfrage gemäß den aktuellen Abgleichsregeln verarbeitet.

Tatsächliche Messung

server {
    listen       80;
    listen  [::]:80;
    server_name  location.test.com;

    access_log  /var/log/nginx/location.host.access.log  main;

    #*********************注意多个location通常按精确的放前面,模糊大范围的放后面,nginx先找= ******************************
    location = /login.html {#精确匹配 /login
	root /usr/share/nginx/html/test-equal;#请求/login.html相当于寻找资源/usr/share/nginx/html/test-equal/login.html
    }
    location ^~ /prefix/ {#区分大小写且以/prefix/开头
	root /usr/share/nginx/html/test-prefix;#root代表根目录,请求/prefix/prefix.html相当于寻找资源/usr/share/nginx/html/test-prefix/prefix/prefix.html 
    }
    location ~ \.(png|jpg)$ {#不区分大小写且以.png或.jpg结尾
	root /usr/share/nginx/html/test-suffix;#请求/suffix/a.png相当于寻找资源/usr/share/nginx/html/test-suffix/suffix/a.png
    }
    location ^~ /jd/ {# 区分大小写且以/jd/开头
	proxy_pass https://www.jd.com/;#proxy_pass  此处的url以/结尾,则nginx会取掉location部分再转发,例如,请求/jd/电器?name=1 则会转发到https://www.jd.com/电器?name=1
    }
    location ^~ /s {# /会匹配到所有的
	proxy_pass https://www.baidu.com;#proxy_pass  此处的url没有以/结尾,则匹配到的地址全部拼接到代理后的地址,例如,请求/s?name=1 则会转发到https://www.baidu.com/s?name=1
    }
    location  / {# 会返回index.html
	root /usr/share/nginx/html;
	index index.html;	
    }  
}
Nach dem Login kopieren

Bemerkungen

Der Unterschied zwischen Root und Alias ​​unter Standort:

Beispiel:

Client-Anfrage: http://localhost:8080/user/info/a.txt

nginx, wenn konfiguriert mit root: Nginx sucht nach Ressourcen: /home/html/user/info/a.txt

location ^~ /user {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
root /home/html;#此处可以不以/结尾
}
Nach dem Login kopieren

nginx Bei Konfiguration mit Alias: Nginx sucht nach Ressourcen: /home/html/info/a.txt

location ^~ /user {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
alias /home/html/;#此处以/结尾
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Nginx an mehreren Standorten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage