nginx反向代理負載均衡企業案例
作業題一說明:
先進行企業案例需求梳理:
當用戶請求www.etiantian.org/upload/xx 地址時,實現由upload上傳服務器池處理請求。
當用戶請求www.etiantian.org/static/xx 地址時,實現由靜態服務器池處理請求。
除此以外,對於其他訪問請求,全都由默認的動態服務器池處理請求。
用戶請求(URI) 處理請求服務器 站點目錄 功能
/upload 10.0.0.8:80 html/www/upload upload服務器
/static 10.0.0.7:80 html/www/static static靜態服務器
解題方法:
1)完成nginx網站服務器配置
第一個裏程:創建測試環境
註:10.0.0.8 主機上創建upload目錄,然後生成網站測試頁面文件
cd /application/nginx/html/www/
mkdir upload
cp oldboy.html upload/
註:10.0.0.7 主機上創建static目錄,然後生成網站測試頁面文件
cd /application/nginx/html/www/
mkdir static
cp oldboy.html static/
註: 10.0.0.9 主機上創建默認測試頁面文件即可
第二個裏程:利用lb01進行訪問測試
註: 測試10.0.0.8訪問是否正常
curl -H host:www.etiantian.org 10.0.0.8/upload/oldboy.html
web02 www.etiantian.org
註: 測試10.0.0.7訪問是否正常
curl -H host:www.etiantian.org 10.0.0.7/static/oldboy.html
web01 www.etiantian.org
註: 測試10.0.0.9訪問是否正常
curl -H host:www.etiantian.org 10.0.0.9/oldboy.html
web03 www.etiantian.org
2)完成nginx反向代理服務器配置
upstream upload {
server 10.0.0.8:80;
}
upstream static {
server 10.0.0.7:80;
}
upstream default {
server 10.0.0.9:80;
}
第二個裏程:配置proxy_pass模塊信息 註:配置完後,用谷歌隱身模式進行訪問測試
server {
listen 80;
server_name www.etiantian.org;
root html;
index index.html index.htm;
location / {
proxy_pass http://default;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
location /upload {
proxy_pass http://upload;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
location /static {
proxy_pass http://static;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
作業題二說明:
根據用戶請求客戶端軟件,顯示不同頁面信息
解決方法:
1)nginx網站服務器配置
第一個裏程:創建測試環境
註:10.0.0.8 主機上創建upload目錄,然後生成網站測試頁面文件
cd /application/nginx/html/www/
cat oldboy.html
註: 10.0.0.7 主機上創建static目錄,然後生成網站測試頁面文件
cd /application/nginx/html/www/
cat oldboy.html
註:10.0.0.9 主機上創建默認測試頁面文件即可
cd /application/nginx/html/www/
cat oldboy.html
測試訪問:
[root@lb01 conf]# curl -H host:www.etiantian.org 10.0.0.7/oldboy.html
web01 www.etiantian.org
[root@lb01 conf]# curl -H host:www.etiantian.org 10.0.0.8/oldboy.html
web02 www.etiantian.org
[root@lb01 conf]# curl -H host:www.etiantian.org 10.0.0.9/oldboy.html
web03 www.etiantian.org
2)nginx反向代理服務器配置
第一個裏程:配置upstream模塊信息
upstream iphone {
server 10.0.0.8:80;
}
upstream android {
server 10.0.0.7:80;
}
upstream pc {
server 10.0.0.9:80;
}
第二個裏程:配置proxy_pass模塊信息
server {
listen 80;
server_name www.etiantian.org;
root html;
index index.html index.htm;
location / {
if ($http_user_agent ~* "iphone") {
proxy_pass http://iphone;
}
if ($http_user_agent ~* "android") {
proxy_pass http://android;
}
proxy_pass http://pc;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
nginx反向代理負載均衡企業案例