nginx über den Unterschied zwischen Root und Alias

不言
Freigeben: 2023-04-02 20:10:02
Original
2704 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich den Unterschied zwischen Root und Alias ​​vor. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit allen teilen.

Fazit

Konfiguration Demo:

location xxx {
    root yyy
}
Nach dem Login kopieren

Browserzugriff xxx, der tatsächliche Zugriff ist yyy/xxx
Browserzugriff xxx/abc.html, tatsächlicher Zugriff ist yyy/xxx/abc.html
Browserzugriff xxx/ccc/ abc.html, der tatsächliche Zugriff ist yyy/xxx/ccc/abc.html

Schlussfolgerung: Das Root-Attribut fügt den Wert von root (hier yyy) zum Zugriffspfad (Standort) hinzu

Demo konfigurieren:

locaiton xxx {
    # alias必须以 / 结束,否则无效
    alias yyy/ 
}
Nach dem Login kopieren

Der Browser greift auf xxx zu und der tatsächliche Zugriff ist yyy
Der Browser greift auf xxx/abc.html zu und der tatsächliche Zugriff ist yyy/abc.html
Wenn der Browser greift auf xxx/ccc/abc.html zu, der tatsächliche Zugriff ist yyy/ccc/abc.html

Schlussfolgerung: Das Alias-Attribut ersetzt den passenden Teil des Zugriffspfads (hier ist yyy) durch den Wert von alias (hier ist es yyy) Hier ist xxx)

Beispiel

Die Verzeichnisstruktur von Nginx ist wie folgt:

nginx/
    -html/
        -index.html
    -logs/
        - access.log
    -conf/
        -nginx.conf
Nach dem Login kopieren

1) Diese Konfiguration ist unter http:/ zu sehen. /localhost:8086/access.log Gehen Sie zu nginx/logs/access.log, aber erwarten Sie nicht, dass Sie auf die Dokumente im HTML-Verzeichnis zugreifen können

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   logs;
    }
}
Nach dem Login kopieren

2) Mit dieser Konfiguration greifen Sie auf http zu: //localhost:8086/log/access.log, und Sie können nginx/logs/access.log sehen;
Besuchen Sie http://localhost:8086/, Sie können nginx/html/index.html sehen

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    # 配置成 location /log/ 或 location /log 都可以
    location /log/ {
        # 不能写成logs, 必须已 / 结束
        alias logs/;
        # 以下配置没用也可以,只是方便你输入 localhost:8086/log/ 后能,看到nginx/logs/目录下的所有文件
        autoindex on;
    }
}
Nach dem Login kopieren

3) Besuchen Sie für diese Konfiguration http://localhost:8086/logs/access.log, Sie können nginx/logs/access.log sehen;
Besuchen Sie http://localhost:8086/, Sie kann nginx/html/index.html sehen

server {
    listen       8086;
    server_name  localhost;
    # http://localhost:8086/ 访问的是
    # nginx/html/  (然后会自动显示 index.html 或 index.htm,如果存在这两个文件之一)
    # 啰嗦的注释: nginx/html(html是root的值)/(/是location的值)
    location / {
        root   html;
        index  index.html index.htm;
    }
    # http://localhost:8086/logs/ 访问的是
    # nginx/./logs/
    # .是root的值,logs是location的值
    # 请与第4种错误配置进行比较,深入理解root属性
    location /logs/ {
        # 写成./也可以
        root .;
    }
}
Nach dem Login kopieren

4) Falsche Konfiguration

server {
    listen       8086;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    # 这样子配置是错的, 请与第三种配置比较一下
    # 关键点:root属性会把root的值加入到最终路径之前
    # 即: http://localhost:8086/logs/access.log访问的是:
    # nginx/logs/logs/access.log
    # 因为: nginx/logs(root的值)/logs(locaition的值)/access.log,
    location /logs/ {
        root /logs/;
    }
}
Nach dem Login kopieren

Auszug: https://www.cnblogs.com/zhang... Dieser Absatz:
The Der durch das Root-Attribut angegebene Wert soll zum endgültigen Pfad hinzugefügt werden. Der Zugriffsort wird also zum Root-Wert/Standortwert. Und ich möchte den aufgerufenen URI nicht zum Pfad hinzufügen. Daher müssen Sie das Alias-Attribut verwenden, das den URI aufgibt und direkt auf den durch Alias ​​angegebenen Speicherort zugreift. Ich hoffe, dass das Obige dem gesamten Inhalt dieses Artikels dient Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Methode 2 zur Verwendung von XHProf zur Analyse von PHP-Leistungsengpässen


Analyse des Fassadendarstellungssystems von Laravel

Das obige ist der detaillierte Inhalt vonnginx über den Unterschied zwischen Root und Alias. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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