4、 Nginx配置實例-反向代理
反向代理實例一:
1、實現效果
(1)打開瀏覽器,在瀏覽器地址欄輸入地址 www.123.com,跳轉到liunx 系統tomcat主頁面中
2、准備工作
(1)在liunx 系統安裝tomcat,使用默認端口8080
* tomcat安裝文件放到liunx 系統中,解壓
* tomcat依賴jdk,先查看下jdk:java -version
* 進入tomcat的bin目錄中,./startup.sh啟動tomcat服務器
* 進入logs目錄查看日志,命令:tail -f catalina.out
(2)對外開放訪問的端口
firewall-cmd --add-port=8080/tcp --permanent 開放端口
firewall-cmd --reload 重啟防火牆
查看已經開放的端口號
firewall-cmd --list-all
(3)在windows系統中通過瀏覽器訪問tomcat服務器
4、具體配置
第一步 在windows 系統的host文件進行域名和ip 對應關系的配置
(瀏覽器通過域名訪問時,會先從本地主機的host文件中查看域名對應的ip地址,若沒有再連接網絡中的DNS域名解析器查找)
第二步 在nginx進行請求轉發的配置(反向代理配置)
1.修改nginx的nginx.conf配置文件(/usr/local/nginx/conf目錄中nginx.con配置文件)
【重新加載nginx (修改nginx.conf配置文件后不重啟nginx,重新加載配置文件)
./nginx -s reload 要進入/usr/local/nginx/sbin 目錄下才可以】
當訪問192.168.56.103就會轉發到location中proxy_pass 對應的http://127.0.0.1:8080地址中去
2.啟動nginx:進入cd /usr/local/nginx/sbin 目錄./nginx
3.windows瀏覽器中訪問www.123.com
關於nginx無論怎么配置都還是跳轉到歡迎界面的解決方案:
改錯配置文件了,需要修改安裝nginx的/usr/local/nginx/conf目錄中nginx.con配置文件,而不是解壓后的nginx文件中的配置文件。
反向代理實例二:
1、實現效果 (根據路徑跳轉具體地址中)
使用nginx反向代理,根據訪問的路徑跳轉到不同端口的服務中 nginx監聽端口為9001
訪問 http://192.168.17.129:9001/edu/ 直接跳轉到127.0.0.1:8080
訪問 http:// 192.168.17.129:9001/vod/ 直接跳轉到127.0.0.1:8081
2、准備工作
(1)准備兩個tomcat服務器,一個8080端口,一個8081端口
在usr/src目錄下創建兩個目錄tomcat8080、tomcat8081,在連個目錄中放入tomcat解壓文件並啟動
對外開放訪問的端口:
firewall-cmd --add-port=8081/tcp --permanent 開放端口
firewall-cmd --reload 重啟防火牆
查看已經開放的端口號:
firewall-cmd --list-all
(2)創建文件夾和測試頁面
在tomcat8080、tomcat8081目錄中的tomcat/webapps目錄下分別創建目錄tomcat8080->edu,tomcat8081->vod
創建html文件並編寫內容,tomcat訪問具體資源顯示。
3、具體配置
(1)找到nginx配置文件,進行反向代理配置
因為效果是使用nginx反向代理,根據訪問的路徑跳轉到不同端口的服務中,nginx監聽端口為9001
所以在nginx配置文件中再配置一個server。
(2)開放對外訪問的端口號 9001 8080 8081
location指令說明 :
該指令用於匹配 URL。
語法如下:
1、= :用於不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,如果匹配成功,就停止繼續向下搜索並立即處理該請求。
2、~:用於表示 uri 包含正則表達式,並且區分大小寫。
3、~*:用於表示 uri 包含正則表達式,並且不區分大小寫。
4、^~:用於不含正則表達式的 uri 前,要求 Nginx 服務器找到標識 uri 和請求字
符串匹配度最高的 location 后,立即使用此 location 處理請求,而不再使用 location
塊中的正則 uri 和請求字符串做匹配。
注意:如果 uri 包含正則表達式,則必須要有 ~ 或者 ~* 標識。