Linux中Nginx反向代理如何實(shí)現(xiàn)不同路徑訪問(wèn)不同的頁(yè)面
Nginx反向代理實(shí)現(xiàn)不同路徑訪問(wèn)不同的頁(yè)面
最終實(shí)現(xiàn)效果
使用nginx反向代理,根據(jù)訪問(wèn)的路徑跳轉(zhuǎn)到不同端口的服務(wù)中
nginx監(jiān)聽(tīng)端口為9001
- 訪問(wèn) http://123.56.241.139:9001/zhao/index.html 直接跳轉(zhuǎn)到127.0.0.1:8080
- 訪問(wèn) http://123.56.241.139:9001/hao/index.html 直接跳轉(zhuǎn)到127.0.0.1:8081
第一步:準(zhǔn)備工作
1、在Linux系統(tǒng)中準(zhǔn)備兩個(gè)tomcat服務(wù)器,一個(gè)tomcat服務(wù)器是8080端口,一個(gè)tomcat服務(wù)器是8081端口
8080端口的tomcat服務(wù)器,準(zhǔn)備好之后直接啟動(dòng)
8081端口的tomcat服務(wù)器
這里我們需要修改一下這個(gè)tomcat服務(wù)器的端口為8081
進(jìn)入到tomcat的conf目錄下,找到server.xml配置文件進(jìn)行端口號(hào)的修改
修改完成之后啟動(dòng)這個(gè)tomcat,執(zhí)行命令:./startup.sh
2、添加Linux防火墻8080、8081、9001端口
添加防火墻命令:
- 添加8080端口:firewall-cmd --add-port=8080/tcp --permanent
- 添加8081端口:firewall-cmd --add-port=8081/tcp --permanent
- 添加9001端口:firewall-cmd --add-port=9001/tcp --permanent
重啟防火墻,使其添加的端口生效,執(zhí)行命令:firewall-cmd --reload
查看一下目前開(kāi)放的端口,執(zhí)行命令:firewall-cmd --list-all
然后測(cè)試一下是否可以正常訪問(wèn)兩個(gè)端口的tomcat
第二步:創(chuàng)建測(cè)試頁(yè)面并配置nginx實(shí)現(xiàn)頁(yè)面訪問(wèn)
1、在8080端口tomcat下的webapps目錄中創(chuàng)建一個(gè)目錄 zhao,然后把靜態(tài)頁(yè)面放進(jìn)去
2、在8081端口tomcat下的webapps目錄中創(chuàng)建一個(gè)目錄 hao,然后把靜態(tài)頁(yè)面放進(jìn)去
訪問(wèn)看一下兩個(gè)tomcat中分別加載的靜態(tài)頁(yè)面
3、具體在nginx配置文件中進(jìn)行反向代理的配置
進(jìn)入到/usr/local/nginx/conf目錄下,找到nginx.conf配置文件進(jìn)行修改
執(zhí)行修改命令:vim nginx.conf
按Insert進(jìn)入編輯模式
然后按下Esc,執(zhí)行保存并退出命令 :wq!
拓展:
location指令說(shuō)明
該指令用于匹配 URL
語(yǔ)法如下:
location [ = | ~ | ~* | ^~] uri { }
(1)=:用于不含正則表達(dá)式的uri前,要求請(qǐng)求字符串與uri嚴(yán)格匹配,如果匹配成功,就停止繼續(xù)向下搜索并立即處理該請(qǐng)求。
(2)~:用于表示uri包含正則表達(dá)式,并且區(qū)分大小寫(xiě)。
(3)~*:用于表示uri包含正則表達(dá)式,并且不區(qū)分大小寫(xiě)。
(4)^~:用于不包含正則表達(dá)式的uri前,要求Nginx服務(wù)器找到標(biāo)識(shí)uri和請(qǐng)求字符串匹配度最高的location后,立即使用此location處理請(qǐng)求,而不再使用location塊中的正則uri和請(qǐng)求字符串做匹配。
注意:如果uri包含正則表達(dá)式,則必須要有 ~ 或者 ~* 標(biāo)識(shí)
修改完nginx.conf需要使修改文件生效,故需要
重啟nginx服務(wù)或者重新加載nginx
進(jìn)入到nginx目錄下 /usr/local/nginx/sbin,如果nginx是開(kāi)啟的,那么先執(zhí)行關(guān)閉nginx命令:./nginx -s stop 然后再執(zhí)行重啟nginx命令:./nginx
或者
進(jìn)入到nginx目錄下 /usr/local/nginx/sbin,執(zhí)行重新加載nginx命令:./nginx -s reload
第三步:最終訪問(wèn)測(cè)試
http://123.56.241.134:9001/hao/index.html 訪問(wèn)到8081的頁(yè)面
http://123.56.241.134:9001/zhao/index.html 訪問(wèn)到8080的頁(yè)面
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Kubernetes部署Springboot或Nginx的詳細(xì)教程
這篇文章主要介紹了用Kubernetes部署Springboot或Nginx的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Nginx?504?Gateway?Time-out的兩種最新解決方案
大家在訪問(wèn)網(wǎng)站的時(shí)候通常會(huì)遇到502錯(cuò)誤、404錯(cuò)誤等,很少會(huì)遇到504錯(cuò)誤,但是在我們?nèi)ピL問(wèn)大流量或者內(nèi)容數(shù)據(jù)量較多的網(wǎng)站時(shí),打開(kāi)網(wǎng)頁(yè)偶爾就會(huì)出現(xiàn)504 gateway time-out,這篇文章主要給大家介紹了關(guān)于Nginx?504?Gateway?Time-out的兩種解決方案,需要的朋友可以參考下2022-08-08Nginx中禁止使用IP訪問(wèn)網(wǎng)站的配置實(shí)例
這篇文章主要介紹了Nginx中禁止使用IP訪問(wèn)網(wǎng)站的配置實(shí)例,一般在備案時(shí)可能需要這種設(shè)置,需要的朋友可以參考下2014-07-07Nginx實(shí)現(xiàn)分端口部署兩個(gè)或多個(gè)項(xiàng)目的教程
這篇文章主要為大家詳細(xì)介紹了Nginx實(shí)現(xiàn)分端口部署兩個(gè)或多個(gè)項(xiàng)目的相關(guān)教程,其中包含了反向代理配置,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10nginx設(shè)置上傳目錄無(wú)執(zhí)行權(quán)限的方法
在windows+iis下,可以設(shè)置上傳目錄,類(lèi)似:upload,uploadfile,attachments,這樣的目錄下面無(wú)腳本執(zhí)行權(quán)限,從而防止非法用戶(hù)上傳腳本得到webshell2010-11-11Centos 6.5 64位中Nginx詳細(xì)安裝部署教程
Nginx是一個(gè)web服務(wù)器也可以用來(lái)做負(fù)載均衡及反向代理使用,目前使用最多的就是負(fù)載均衡,具體簡(jiǎn)介我就不介紹了百度一下有很多,下面直接進(jìn)入安裝步驟,需要的朋友可以參考下2017-08-08