nginx 配置實例-反向代理

反向代理實例一 

虛擬機IP:192.168.116.129
實現效果:使用 nginx 反向代理,訪問 www.123.com 直接跳轉到 虛擬機的192.168.116.129:8080 css

實驗代碼 

1) 啓動一個 tomcat,瀏覽器地址欄輸入 192.168.116.129:8080,出現以下界面 html

2) 經過修改本地 host 文件,將 www.123.com 映射到192.168.116.129nginx

配置完成以後,咱們即可以經過 www.123.com:8080 訪問到第一步出現的 Tomcat 初始界 面。那麼如何只須要輸入 www.123.com 即可以跳轉到 Tomcat 初始界面呢?便用到 nginx 的反向代理。正則表達式

3) 在 nginx.conf 配置文件中增長以下配置 

注意:修改配置文件後,須要重啓nginx瀏覽器

如上配置,咱們監聽 80 端口,訪問域名爲 www.123.com,不加端口號時默認爲 80 端口,故 訪問該域名時會跳轉到 127.0.0.1:8080 路徑上。在瀏覽器端輸入 www.123.com 結果以下:
 tomcat

反向代理實例二 

虛擬機ip:192.168.116.129bash

實現效果:使用 nginx 反向代理,根據訪問的路徑跳轉到不一樣端口的服務中 nginx 監聽端口爲 9001,服務器

訪問 http://192.168.116.129:9001/edu/ 直接跳轉到 192.168.116.129.0.0.1:8080 測試

訪問 http://192.168.116.129:9001/vod/ 直接跳轉到 192.168.116.129:8082 spa

 

實驗代碼 


一、準備工做

(1)準備兩個 tomcat 服務器,一個 8080 端口,一個 8082 端口

(2)建立文件夾和測試頁面 

二、具體配

修改 nginx 的配置文件

在 http 塊中添加 server{} 

   
   
   
   
  1. server{
  2. listen 9001;
  3. server_name localhost;
  4. location ~ /edu/ {
  5. proxy_pass http://localhost:8080;
  6. }
  7. location ~ /dev/ {
  8. proxy_pass http://localhost:8082;
  9. }
  10. }

重啓

 

location 指令說明 

語法以下:

  •  一、= :用於不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,若是匹配 成功,就中止繼續向下搜索並當即處理該請求。 
  •   二、~:用於表示 uri 包含正則表達式,而且區分大小寫。 
  •   三、~*:用於表示 uri 包含正則表達式,而且不區分大小寫。 
  •   四、^~:用於不含正則表達式的 uri 前,要求 Nginx 服務器找到標識 uri 和請求字 符串匹配度最高的 location 後,當即使用此 location 處理請求,而再也不使用 location 塊中的正則 uri 和請求字符串作匹配。 
  •   注意:若是 uri 包含正則表達式,則必需要有 ~ 或者 ~* 標識。 

我改了一行配置,會實現下面修改。

有興趣的朋友能夠試試(猜猜我改的那個地方)

相關文章
相關標籤/搜索