nginx反向代理負載均衡企業案例

  1. 作業題一說明:
    先進行企業案例需求梳理:
    當用戶請求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靜態服務器
    / 10.0.0.9:80 html/www 默認

    解題方法:
    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模塊信息
    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;
 }

}

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