Nginx系列-4 nginx 配置實(shí)例-反向代理

4.1反向代理實(shí)例前提

java jdk安裝

image-20210305171916335
image-20210305171920978
image-20210305171926033
export JAVA_HOME=/usr/local/java/jdk1.8.0_281

export PATH=\$PATH:\$JAVA_HOME/bin

export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar

export JRE_HOME=\$JAVA_HOME/jre

注意:其中 JAVA_HOME, JRE_HOME 請根據(jù)自己的實(shí)際安裝路徑及 JDK 版本配置。

修改/etc/profile之后讓其生效

. /etc/profile 

(注意 . 之后應(yīng)有一個空格)

image-20210305171244476
image-20210305171254507

tomcat安裝

image-20210305171317885
image-20210305171323965
image-20210305171330575

參考鏈接:https://www.cnblogs.com/li150dan/p/12535067.html

4.2反向代理實(shí)例一

實(shí)現(xiàn)效果:使用 nginx 反向代理,訪問 www.123.com 直接跳轉(zhuǎn)到 127.0.0.1:8080

image-20210305171342505

linux服務(wù)器同時運(yùn)行兩個或多個tomcat

參考鏈接:linux服務(wù)器同時運(yùn)行兩個或多個tomcat

4.3反向代理實(shí)驗(yàn)代碼

  1. 啟動一個 tomcat,使用curl指令請求,出現(xiàn)代碼返回成功
curl 127.0.0.1:8080
image-20210305171353061
  1. 通過修改本地 host 文件,將 www.123.com 映射到 121.37.164.246(遠(yuǎn)程服務(wù)器ip)
121.37.164.246 www.123.com
image-20210305171359746

配置完成之后,我們便可以通過 www.123.com:8080 訪問到第一步出現(xiàn)的 Tomcat 初始界面。那么如何只需要輸入 www.123.com 便可以跳轉(zhuǎn)到 Tomcat 初始界面呢?便用到 nginx 的反向代理。

  1. 在 nginx.conf 配置文件中增加如下配置
image-20210305171406623

4.3 反向代理實(shí)例二

實(shí)現(xiàn)效果:使用 nginx 反向代理,根據(jù)訪問的路徑跳轉(zhuǎn)到不同端口的服務(wù)中 nginx 監(jiān)聽端口為 9001。

訪問 http://121.37.164.246:9001/edu/ 直接跳轉(zhuǎn)到 127.0.0.1:8081

訪問 http://121.37.164.246:9001/vod/ 直接跳轉(zhuǎn)到 127.0.0.1:8082

4.3.1 實(shí)驗(yàn)代碼

第一步,準(zhǔn)備兩個 tomcat,一個 8001 端口,一個 8002 端口,并準(zhǔn)備好測試的頁面(并放到tomcat webapps下)

第二步,修改 nginx 的配置文件

在 http 塊中添加 server{}

server {
 listen       9001;
 # 遠(yuǎn)程ip地址
 server_name  121.37.164.246;
 location ~ /edu/ {
 proxy_pass http://127.0.0.1:8080;
 }
 location ~ /vod/ {
 proxy_pass http://127.0.0.1:8081;
 }
 } 

第三步,重新啟動nginx

在/usr/local/nginx/sbin 目錄下執(zhí)行

<pre>./nginx -s reload</pre>

第四步,測試

效果:

(1)訪問vod,效果為

image-20210305171418151

(2)訪問:edu,效果為

image-20210305171422538

location 指令說明

該指令用于匹配 URL。

語法如下:

image-20210305171428769

1、= :用于不含正則表達(dá)式的 uri 前,要求請求字符串與 uri 嚴(yán)格匹配,如果匹配成功,就停止繼續(xù)向下搜索并立即處理該請求。

2、~:用于表示 uri 包含正則表達(dá)式,并且區(qū)分大小寫。

3、~*:用于表示 uri 包含正則表達(dá)式,并且不區(qū)分大小寫。

4、^~:用于不含正則表達(dá)式的 uri 前,要求 Nginx 服務(wù)器找到標(biāo)識 uri 和請求字符串匹配度最高的 location 后,立即使用此 location 處理請求,而不再使用 location 塊中的正則 uri 和請求字符串做匹配。

注意:如果 uri 包含正則表達(dá)式,則必須要有 ~ 或者 ~* 標(biāo)識。

下篇更新第5章nginx 配置實(shí)例-負(fù)載均衡

感興趣的話點(diǎn)點(diǎn)關(guān)注,我們一起成長進(jìn)步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容