實例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,顯示如下頁面: