Nginx 负载均衡动静分离配置

nginx.conf
1.通过目录进行分离。
#静态服务器

upstream static_pools

  {
          server 10.0.0.9:80 weight=5 max_fails=10 fail_timeout=10s;
              }
#动态服务器
    upstream dynamic_pools

              {
          server 10.0.0.10:80 weight=5 max_fails=10 fail_timeout=10s;

                   }
#上传服务器
    upstream upload_pools                    

{
          server 10.0.0.10:80 weight=5 max_fails=10 fail_timeout=10s;

                   }          

#server标签配置:

server {

           listen   80;

#访问的域名

           server_name www.xxxxx.com;

#动态服务器

     location / {

           proxy_pass http://dynamic_pools;

           proxy_set_header Host    $host;

           proxy_set_header X-Forwarded-For $remote_addr;

             }

#静态服务器
  location /image/ {

           proxy_pass http://static_pools;

           proxy_set_header Host    $host;

           proxy_set_header X-Forwarded-For $remote_addr;

                }

#上传服务器
  location /upload/ {

           proxy_pass http://upload_pools;

           proxy_set_header Host    $host;

           proxy_set_header X-Forwarded-For $remote_addr;

                }

  }
clip_image001

clip_image003

server {

           listen   80;

#访问的域名

           server_name www.xxxxx.com;

#通过扩展名访问

location ~ {

           proxy_pass http://static_pools;

           proxy_set_header Host    $host;

           proxy_set_header X-Forwarded-For $remote_addr;

                }

clip_image004

用于部分程序不支持的浏览器。

location /

{

#当使用IE浏览器时显示动态内容

if ($http_user_agent ~* "MSIE")

{

proxy_pass http://dynamic_pools;

}

#当使用火狐浏览器时显示静态内容

if ($http_user_agent ~* "Firefox")

{

proxy_pass http://static_pools;

}

#其它使用默认

proxy_pass http://dynamic_pools;

include proxy.conf;

}

clip_image005

clip_image006

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_connect_timeout 60;

proxy_send_timeout 60;

proxy_read_timeout 60;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

手机用户和浏览器用户:

当访问同一个域名不同终端的时候,显示内容的服务器不一致

location /

{

#当使用Android终端时访问安卓服务器

if ($http_user_agent ~* "android")

{

proxy_pass http://android_pools;

}

#当使用苹果终端时访问苹果服务器

if ($http_user_agent ~* "iphone")

{

proxy_pass http://iphone_pools;

}

#其它使用默认

proxy_pass http://dynamic_pools;

include proxy.conf;

}

posted @ 2017-07-18 20:59  王亦福-Jeff  阅读(620)  评论(0编辑  收藏  举报