首頁 > 軟體

圖文詳解Nginx多種匹配方式

2022-05-14 13:01:36

前言

首先建立兩個不同的路徑的頁面做測試

然後開啟/usr/local/nginx/conf目錄下的ngnix.conf

可以看到

每一個server都可以定義一個存取的轉發到的路徑

埠轉發

 server {
        listen       878;#當存取878埠組時
        server_name  localhost;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w2;#存取878埠時,存取這個路徑下的index.html檔案
            index  index.html index.htm;
        }
}

重新啟動ngnix

 /usr/local/nginx/sbin/nginx -s reload

如果報一下錯誤,說明是組態檔格式錯誤,檢查設定的server的大括號位置是否匹配,格式是否正確

測試結果

 利用存取地址轉發

在進行這步操作時,必須確保DNS解析中,已經新增*字首解析

然後還是在conf檔案中

 server {
        listen       80;
        server_name  zth2.zhangdd1915.top;#修改為任意的XXX.自己域名的格式
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w1;#指定路徑
            index  index.html index.htm;
        }
}

(注意埠號和虛擬主機名不能重複,否則會報錯)再次重新啟動ngnix

測試

同一個server可以同時設定多個主機名

例如

 server {
        listen       80;
        server_name  zth2.zhangdd1915.top zth3.zhangdd1915.top;#主機名1 空格 主機名2的形式
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w1;
            index  index.html index.htm;
        }
}

重啟測試

前置匹配

 server {
        listen       80;
        server_name  *.zhangdd1915.top;#只要是以 .zhangdd1915.top結尾都會匹配到此
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w1;
            index  index.html index.htm;
        }
}

注意這個一定要寫在最前面,因為先寫的先匹配,在之前的DNS解析中已經謝了*,所以會自動匹配到預設的,所以要寫在首位

重啟測試 

後置匹配

 server {
        listen       878;
        server_name  zhangdd1915.*;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w2;
            index  index.html index.htm;
        }
}

 由於我只有一域名,這裡就不做測試了。

正則匹配

 server {
        listen       878;
        server_name  ~^[0-9]+.zhangdd1915.top$;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /www/zthwww/w1;
            index  index.html index.htm;
        }
}

例如字首是N個數位開頭

總結

到此這篇關於Nginx多種匹配方式的文章就介紹到這了,更多相關Nginx匹配方式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com