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;
 }

}

猜你喜欢

转载自blog.51cto.com/tangyong/2136136