溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

發(fā)布時間:2020-07-20 08:55:24 來源:網絡 閱讀:455 作者:品鑒初心 欄目:建站服務器

Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)



一、虛擬主機別名介紹

虛擬主機別名就是為虛擬主機設置除了主域名以外的另一個或多個域名名字,這樣就能實現用戶訪問的多個域名對應于同一個虛擬主機網站的功能。在生產環(huán)境中,www.afeilinux.com域名的虛擬主機為例,為其增加一個別名afeilinux.com時,在該域名出現的網站內容和訪問www.afeilinux.com得到的結果是一樣的。

二、實施方法

第一種方法:Nginx虛擬主機的別名配置

  1. 更改wtf.conf配置文件

    [root@nginx-oldboy conf]# vim extra/wtf.conf

    3    server_name  www.afeilinux.com afeilinux.com;

  2. 比較更改前后配置文件


    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

  3. 語法檢查與重新加載

    [root@nginx-oldboy conf]# nginx -t

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

    [root@nginx-oldboy conf]# nginx -s reload

  4. 更改hosts

    [root@nginx-oldboy conf]# vim /etc/hosts

    添加:192.168.8.117  www.afeilinux.com  afeilinux.com

  5. 測試

    [root@nginx-oldboy conf]# curl www.afeilinux.com

    第一次測試

    [root@nginx-oldboy conf]# curl afeilinux.com

    第一次測試

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

  6. 虛擬主機別名在生產中實際運用

    多數企業(yè)網站希望訪問www.afeilinux.com和afeilinux.com時,所瀏覽的是同一個頁面,若有這類需求,就可以讓afeilinux.com以別名的方式出現,這時兩個域名都要解析到服務器的IP地址。

第二種方法:Nginx rewrite

  1. Nginx rewrite概念

    和Apache等Web服務軟件一樣,Nginx rewrite的主要功能也是實現URL地址重寫。Nginx的rewrite規(guī)則需要PCRE軟件的支持,即通過perl兼容正則表達式語法進行規(guī)則匹配。所以在安裝Nginx時要安裝PCRE軟件,同時也讓Nginx支持了rewrite的功能,默認參數編譯時,Nginx就會安裝支持rewrite的模塊,但是,也必須要有PCRE軟件的支持。

    查看安裝Nginx版本和模塊的信息:

    [root@nginx-oldboy ~]# nginx -V

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

  2. rewrite指令語法

    語法:rewrite regex replacement[flag]

    默認值:none

    應用位置:server、location、if

    rewrite是實現URL重寫的關鍵指令,根據regex(正則表達式)部分的內容,重定向到replacement部分,結尾是flag標記。下面是個簡單的URL rewrite跳轉的例子:

    rewrite ^/(.*) http://www.afeilinux.com/$1 permanent;

    在上述指令中,rewrite為固定關鍵字,表示開啟一條rewrite匹配規(guī)則,regex部分是^/(.*),這是一個正則表達式,表示匹配所有,匹配成功后跳轉到http://www.afeilinux.com/$1。這里的$1是取前面regex部分括號里的內容,結尾是permanent;是永久301重定向標記,即跳轉到后面的http://www.afeilinux.com地址上。

  3. Nginx rewrite的企業(yè)應用場景

    (1)可以調整用戶瀏覽的URL,使其看起來更規(guī)范,合乎開發(fā)及產品人員的需求。

    (2)為了讓搜索引擎收錄網站內容,并讓用戶體驗更好,企業(yè)會將鼎泰URL地址偽裝成靜態(tài)地址提供服務。

    (3)網站換新域名后,讓舊域名的訪問跳轉到新的域名上,例如:讓京東的360buy換成了jd.com。


    (4)根據特殊變量、目錄、客戶端的信息進行URL跳轉等。

  4. Nginx rewrite 301跳轉

    實驗背景:實現域名從afeilinux.org跳轉到www.afeilinux.org

    查看原來虛擬主機的配置:

    [root@nginx-oldboy extra]# cat org.conf

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

    更改之后的虛擬主機配置:

    [root@nginx-oldboy extra]# cat org.conf

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

  5. 說明:當用戶訪問afeilinux.org及下面的任意內容時,都會通過這條rewrite跳轉到www.afeilinux.org對應的地址。

  6. 語法檢測與nginx重啟

    [root@nginx-oldboy extra]# nginx -t

    [root@nginx-oldboy extra]# nginx -s reload

  7. 測試

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)

    說明:上圖訪問前的地址是:afeilinux.org,訪問后的地址:www.afeilinux.org

    curl測試:

    Nginx虛擬主機配置實踐之nginx訪問同一個地址方法(二)



向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI