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

