4.1反向代理實(shí)例前提
java jdk安裝



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)有一個空格)


tomcat安裝



參考鏈接: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

linux服務(wù)器同時運(yùn)行兩個或多個tomcat
參考鏈接:linux服務(wù)器同時運(yùn)行兩個或多個tomcat
4.3反向代理實(shí)驗(yàn)代碼
- 啟動一個 tomcat,使用curl指令請求,出現(xiàn)代碼返回成功
curl 127.0.0.1:8080

- 通過修改本地 host 文件,將 www.123.com 映射到 121.37.164.246(遠(yuǎn)程服務(wù)器ip)
121.37.164.246 www.123.com

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

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,效果為

(2)訪問:edu,效果為

location 指令說明
該指令用于匹配 URL。
語法如下:

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)步。