Nginx 负载均衡动静分离配置

本文详细介绍了如何使用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;

}

转载于:https://www.cnblogs.com/wangyifu/p/7202670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值