1.先进行企业案例需求梳理:
    当用户请求www.daydayup.com/upload/xx 地址时,实现由upload上传服务器池处理请求。
    当用户请求www.daydayup.com/static/xx 地址时,实现由静态服务器池处理请求。
    除此以外,对于其他访问请求,全都由默认的动态服务器池处理请求。
    用户请求(URI)      处理请求服务器      站点目录             功能
    /upload               10.0.0.32:80         html/www/upload     upload服务器
    /static                  10.0.0.33:80         html/www/static       static静态服务器
    /                          10.0.0.34:80         html/www                  默认
    
    解题方法:
    1)完成nginx网站服务器配置
    第一个里程:创建测试环境
    # 10.0.0.32 主机上创建upload目录,然后生成网站测试页面文件
    cd /application/nginx/html/www/
    mkdir upload
    cp index.html upload/

    # 10.0.0.33 主机上创建static目录,然后生成网站测试页面文件
    cd /application/nginx/html/www/
    mkdir static
    cp oldboy.html static/    
    
    # 10.0.0.34 主机上创建默认测试页面文件即可
    
    第二个里程:利用lb01进行访问测试
    # 测试10.0.0.32访问是否正常
    curl -H host:www.daydayup.com 10.0.0.32/upload/index.html
    web02 www.daydayup.com
    
    # 测试10.0.0.33访问是否正常
    curl -H host:www.daydayup.com 10.0.0.33/static/oldboy.html
    web01 www.daydayup.com

    # 测试10.0.0.34访问是否正常
    curl -H host:www.daydayup.com 10.0.0.34/oldboy.html
    web03 www.daydayup.com
    
    2)完成nginx反向代理服务器配置
    第一个里程:配置upstream模块信息
    upstream upload {
    server 10.0.0.32:80;
    }
    upstream static {
        server 10.0.0.33:80;
    }
    upstream default {
        server 10.0.0.34:80;
    }   

    第二个里程:配置proxy_pass模块信息
    server {
        listen       80;
        server_name  www.daydayup.com;
        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;
        }
    }


2.根据用户请求客户端软件,显示不同页面信息
    解决方法:
    1)nginx网站服务器配置
    第一个里程:创建测试环境
    # 10.0.0.32 主机上创建upload目录,然后生成网站测试页面文件
    cd /application/nginx/html/www/
    cat index.html

    # 10.0.0.33 主机上创建static目录,然后生成网站测试页面文件
    cd /application/nginx/html/www/
    cat oldboy.html 
    
    # 10.0.0.34 主机上创建默认测试页面文件即可
    cd /application/nginx/html/www/
    cat oldboy.html 
    
    测试访问:
    [root@lb01 conf]# curl -H host:www.daydayup.com 10.0.0.32/oldboy.html
    web01 www.etiantian.org
    [root@lb01 conf]# curl -H host:www.daydayup.com 10.0.0.33/oldboy.html
    web02 www.etiantian.org
    [root@lb01 conf]# curl -H host:www.daydayup.com 10.0.0.34/oldboy.html
    web03 www.etiantian.org

    2)nginx反向代理服务器配置
    第一个里程:配置upstream模块信息
    upstream iphone {
    server 10.0.0.32:80;
    }
    upstream android {
        server 10.0.0.33:80;
    }
    upstream pc {
        server 10.0.0.34:80;
    }   

    第二个里程:配置proxy_pass模块信息
     server {
     listen       80;
     server_name  www.daydayup.com;
     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;
     }
 }

最后修改于 2019-12-23 15:54:57
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇