1. 程式人生 > >nginx反向代理負載均衡企業案例

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

ica 說明 static 服務器配置 隱身 nginx網站 nginx anti gen

  • 作業題一說明:
    先進行企業案例需求梳理:
    當用戶請求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;
     }

    }

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