實例一
實現效果:
使用 nginx 反向代理,訪問 www.123.com 直接跳轉到 127.0.0.1:8080
訪問過程分析
實驗過程
(1)啓動一個 tomcat,瀏覽器地址欄輸入 127.0.0.1:8080,驗證tomcat是否啓動成功。
(2)通過修改本地 host (C:\Windows\System32\drivers\etc\host)文件,將 www.xb.com 映射到 127.0.0.1
127.0.0.1 www.xb.com
此時就已經可以通過訪問www.xb.com:8080訪問tomcat的界面了(此時8080端口號是不能省略的),那麼如何只需要輸入 www.xb.com 便可以跳轉到 Tomcat 初始界面呢?
(3)在 nginx.conf 配置文件中增加如下配置
實列二
實現效果:
使用 nginx 反向代理,根據訪問的路徑跳轉到不同端口的服務中,nginx 監聽端口爲 9001,
訪問 http://127.0.0.1:9001/edu/ 直接跳轉到 127.0.0.1:8081訪問 http://127.0.0.1:9001/vod/ 直接跳轉到 127.0.0.1:8082
步驟:
(1)準備兩個 tomcat 服務器,一個 8080 端口,一個 8081 端口
(2)創建文件夾和測試頁面
(3)具體配置
另加一個server塊
訪問:http://127.0.0.1:9001/edu/a.html
訪問:http://127.0.0.1:9001/vod/b.html
location 指令說明
1、= :用於不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,如果匹配成功,就停止繼續向下搜索並立即處理該請求。2、~:用於表示 uri 包含正則表達式,並且區分大小寫。3、~*:用於表示 uri 包含正則表達式,並且不區分大小寫。4、^~:用於不含正則表達式的 uri 前,要求 Nginx 服務器找到標識 uri 和請求字符串匹配度最高的 location 後,立即使用此 location 處理請求,而不再使用 location塊中的正則 uri 和請求字符串做匹配。注意:如果 uri 包含正則表達式,則必須要有 ~ 或者 ~* 標識。