根据URI实战nginx7层代理网站动静分离实战

根据URL和域名将动态的请求和静态的请求分别交给不同的服务器解决即为动静分离
LB上:

upstream static_pools {
        server 172.25.254.102:80;
        }
upstream dynamic_pools {
        server 172.25.254.103:80;    ##该机器上也需要nginx配置对应的html目录。
        }
			##这两个池分别写入静态处理服务器和动态服务器
server {
        listen 80;
        server_name     blog.etiantian.org;
			##只有通过这个域名访问的才会检测将其动静分离
	   location /static/ {     ##检测是否是static
         proxy_pass http://static_pools;   ##检测合格即将其反给代理池static_pools
        proxy_set_header        HOST $host;##对应RS上的虚拟主机域名,找到域名之后才可以访问该域名的目录
         proxy_set_header  X-Forwarded-For      $remote_addr;    ##检测访问LB的客户端地址,RS端接受后,可从Customlog日志中查看
                }
        location /dynamic/ {
                 proxy_pass http://dynamic_pools;
         proxy_set_header       HOST $host;
         proxy_set_header  X-Forwarded-For      $remote_addr;               ##与静态的类似
                }
        }

注意: 测试环境中,那一台服务器访问都需要进行地址解析
并且,LB千万不要将静态动态库相互负载均衡如:

upstream static_pools {
        server 172.25.254.103:80;
        server 172.25.254.102:80;
        }
upstream dynamic_pools {
        server 172.25.254.102:80; 
        server 172.25.254.103:80;  
        }
        然后再在两台机器上分别创建statc和dynamic的虚拟主机,千万不要这样,这样虽然也可以成功,但是存在一个问题,当关掉102上的static时,访问LB时依然可以访问102的static,楼主还未找到原因。

然后在RS端也需要进行配置创建虚拟主机,分别为静态动态模块。

102:

1 server{
  2         listen 80;
  3         server_name blog.etiantian.org;
  4 location / {
  5         index index.html
  6         root /usr/local/nginx/static;
  7                 }
  8 }

103:

1 server{
  2         listen 80;
  3         server_name blog.etiantian.org;
  4 location / {
  5         index index.html
  6         root /usr/local/nginx/dynamic;
  7                 }
  8 }

除了这种分离方法外,还可通过文件后的类姓名进行区分
Nginx代理小结:
1.类似LVS,完全转发
2.根据URL中的路径进行转发
3.根据URL中的资源的后缀进行转发

Nginx代理负载均衡企业应用场景:
1.流量不是特别大的情况下,直接替换掉LVS做反向负载均衡均衡,都可以配合keepalived做高可用(简单,方便)
2.门户网站,前端LVS+Nginx代理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值