Nginx 配置實例-配置反向代理

實例1:反向代理一個 tomcat 服務器

0. 實現效果

瀏覽器訪問 192.168.25.120,跳轉到服務器的 tomcat 的主頁面。
訪問過程示意圖如下:
在這裏插入圖片描述

1. tomcat 的安裝

// 切換到 root 用戶
su - root

# 解壓 tomcat 安裝包到 /usr/local 目錄
tar zxvf apache-tomcat-7.0.70.tar.gz -C /usr/local/

sh /usr/local/apache-tomcat-7.0.70/bin/startup.sh		# 啓動 tomcat
sh /usr/local/apache-tomcat-7.0.70/bin/shutdown.sh		# 停止 tomcat
ps aux | grep tomcat									# 查看 tomcat 進程狀態

啓動 tomcat 之後,瀏覽器 tomcat 所在主機 IP 及對應端口,此處爲 192.168.25.120:8080,顯示頁面如下:
在這裏插入圖片描述

2. nginx 的安裝

2.1 安裝 pcre 依賴

su - root							// 切換到 root 用戶

tar zxvf pcre-8.37.tar.gz			// 解壓 pcre 安裝包	

cd pcre-8.37						// 進入 pcre-8.37 目錄	
./configure							// 配置 pcre-8.37 
make && make install				// 編譯安裝 pcre-8.37

pcre-config --version				// pcre 安裝成功後,查看其版本號

2.2 安裝其他依賴

su - root							// 切換到 root 用戶

// 安裝其他依賴
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel	

2.3 Nginx 的安裝

su - root							// 切換到 root 用戶

tar zxvf nginx-1.12.2.tar.gz		// 解壓 nginx-1.12.2.tar.gz 安裝包

cd nginx-1.12.2						// 進入 nginx-1.12.2 目錄
./configure							// 配置 nginx-1.12.2
make && make install				// 編譯安裝 nginx-1.12.2

2.4 驗證

/usr/local/nginx/sbin/nginx				// 啓動 nginx
/usr/local/nginx/sbin/nginx -s stop		// 停止 nginx
ps -ef | grep nginx						// 查看 nginx 進程狀態

啓動 nginx 之後,瀏覽器訪問 nginx 所在主機的 IP 即端口,此處爲 192.168.25.120:80(80爲默認短褲,訪問時可省略),顯示頁面如下:
在這裏插入圖片描述

3. nginx 反向代理的配置

nginx 的反向代理,主要通過 proxy_pass 配置來實現,proxy_pass 指向的 url 即爲 nginx 將要反向代理到的 url。
修改 nginx 的配置文件 nginx.conf,使其代理到本機的 8080 端口,修改後的 server 模塊如下:
在這裏插入圖片描述

4. 驗證

上面配置了 nginx 反向代理到本機的 8080 端口之後,任意對服務器 80 端口的訪問都將被代理到 8080 端口進行處理,而在之前的操作中,已將 8080 端口交給 tomcat 使用,所以,通過瀏覽器訪問服務器的 80 端口後,將會跳轉到 tomcat 的默認頁面;訪問 192.168.25.120,顯示如下頁面:
在這裏插入圖片描述

實例2:反向代理兩個 tomcat 服務器

0. 實例效果

使用 nginx 反向代理,根據訪問的路徑跳轉到不同端口的服務中
訪問 http://192.168.25.120/edu/ 直接跳轉到 127.0.0.1:8081
訪問 http:// 192.168.25.120/vod/ 直接跳轉到 127.0.0.1:8082

1. 兩個 tomcat 的安裝

1.1 tomcat8081 的安裝

1.1.1 tomcat8081 安裝包的裝備

# 解壓 tomcat 安裝包
tar zxvf apache-tomcat-7.0.70.tar.gz	
		
# 複製 tomcat 安裝文件到 /usr/local/tomcat8081 目錄
cp -vr apache-tomcat-7.0.70 /usr/local/tomcat8081		

1.1.2 tomcat8081 配置文件的修改

因爲這裏不是使用 tomcat 的默認端口進行安裝,所以需修改 tomcat 的部分端口,修改 server.xml 文件,修改部分如下:
在這裏插入圖片描述
在這裏插入圖片描述

1.1.3 驗證

/usr/local/tomcat8081/bin/startup.sh			# 啓動 8081 端口的 tomcat
/usr/local/tomcat8081/bin/shutdown.sh			# 停止 8081 端口的 tomcat 
ps aux | grep tomcat							# 查看 tomcat 進程狀態

tomcat8081 啓動後,瀏覽器訪問 tomcat8081 所在主機 IP 及對應端口,顯示頁面如下:
在這裏插入圖片描述

1.1.4 相關目錄及文件的創建

在 /usr/local/tomca8081/webapps/ 目錄下創建 edu 目錄

mkdir -v /usr/local/tomcat8081/webapps/edu

在 edu 目錄下創建文件 a.html,並填寫如下內容:

<h1>edu-----8081 !!!</h1>

瀏覽器訪問 http://192.168.25.120:8081/edu/a.html,顯示頁面如下:
在這裏插入圖片描述

1.2 tomcat8082 的安裝

1.2.1 tomcat8082 安裝包的裝備

# 解壓 tomcat 安裝包
tar zxvf apache-tomcat-7.0.70.tar.gz	
		
# 複製 tomcat 安裝文件到 /usr/local/tomcat8082 目錄
cp -vr apache-tomcat-7.0.70 /usr/local/tomcat8082		

1.2.2 tomcat8082 配置文件的修改

因爲這裏不是使用 tomcat 的默認端口進行安裝,所以需修改 tomcat 的部分端口,修改 server.xml 文件,修改部分如下:
在這裏插入圖片描述
在這裏插入圖片描述

1.2.3 驗證

/usr/local/tomcat8082/bin/startup.sh			# 啓動 8082 端口的 tomcat
/usr/local/tomcat8082/bin/shutdown.sh			# 停止 8082 端口的 tomcat 
ps aux | grep tomcat							# 查看 tomcat 進程狀態

tomcat8082 啓動後,瀏覽器訪問 tomcat8082 所在主機 IP 及對應端口,此處爲 192.168.25.120:8082,顯示頁面如下:
在這裏插入圖片描述

1.2.4 相關目錄及文件的創建

在 /usr/local/tomca8082/webapps/ 目錄下創建 vod 目錄

mkdir -v /usr/local/tomcat8082/webapps/vod

在 vod 目錄下創建文件 a.html,並填寫如下內容:

<h1>vod-----8082 !!!</h1>

瀏覽器訪問 http://192.168.25.120:8082/vod/a.html,顯示頁面如下:
在這裏插入圖片描述

2. nginx 的安裝

2.1 安裝 pcre 依賴

su - root							// 切換到 root 用戶

tar zxvf pcre-8.37.tar.gz			// 解壓 pcre 安裝包	

cd pcre-8.37						// 進入 pcre-8.37 目錄	
./configure							// 配置 pcre-8.37 
make && make install				// 編譯安裝 pcre-8.37

pcre-config --version				// pcre 安裝成功後,查看其版本號

2.2 安裝其他依賴

su - root							// 切換到 root 用戶

// 安裝其他依賴
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel	

2.3 Nginx 的安裝

su - root							// 切換到 root 用戶

tar zxvf nginx-1.12.2.tar.gz		// 解壓 nginx-1.12.2.tar.gz 安裝包

cd nginx-1.12.2						// 進入 nginx-1.12.2 目錄
./configure							// 配置 nginx-1.12.2
make && make install				// 編譯安裝 nginx-1.12.2

2.4 驗證

/usr/local/nginx/sbin/nginx				// 啓動 nginx
/usr/local/nginx/sbin/nginx -s stop		// 停止 nginx
ps -ef | grep nginx						// 查看 nginx 進程狀態

啓動 nginx 之後,瀏覽器訪問 nginx 所在主機的 IP 即端口,此處爲 192.168.25.120:80(80爲默認短褲,訪問時可省略),顯示頁面如下:
在這裏插入圖片描述

3. nginx 反向代理的配置

要配置通過 192.168.25.120:80 代理到 192.168.25.120:8081/edu/,需修改 nginx 的 server 模塊,添加如下配置:

location ~ /edu/ {
    proxy_pass http://localhost:8081;
}

要配置通過 192.168.25.120:80 代理到 192.168.25.120:8082/vod/,需修改 nginx 的 server 模塊,添加如下配置:

location ~ /vod/ {
    proxy_pass http://localhost:8082;
}

修改完成後,nginx 的配置文件如下:
在這裏插入圖片描述

4. 驗證

# 重載 nginx

瀏覽器訪問 http://192.168.25.120/edu/a.html,顯示如下頁面:
在這裏插入圖片描述
瀏覽器訪問 http://192.168.25.120/vod/a.html,顯示如下頁面:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章