(二)nginx反向代理html,实现前后端分离(部署一套html调用多个服务)

上篇博客是一套页面调用一个后端提供的服务,但是很多时候  我们后端会部署多个服务,为此部署配置一套nginx代理。

可以实现为nginx配置多种策略,如下说明:

负载均衡策略

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 
} 
 
2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream backserver { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 
} 
 
3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
upstream backserver { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 
} 

nginx.conf配置实例(第二种:指定权重):

upstream tomcatserver1 {  
		server 192.168.1.9:8081 weight=2;  
		server 192.168.1.29:8081 weight=10;
    }
	server {
        listen       8082;
        listen       192.168.1.29:8082;
        server_name  192.168.1.29;


		location / {
            proxy_pass http://tomcatserver1;
			index  index.html index.htm;
			
        }
	}

每个设备的状态参数可设置为: 
1.down 表示单前的server暂时不参与负载 
2.weight 默认为1.weight越大,负载的权重就越大,请求次数就越多。 
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 
4.fail_timeout:max_fails次失败后,暂停的时间。 
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。 

这样配置可以简单实现请求多服务,但是缺点是服务宕机不会转向请求其他正常服务。

 

在调试阶段出现点小问题,直接全部kill掉nginx服务,命令:

taskkill /fi "imagename eq nginx.exe" /f
 

gzip优化:开启gzip压缩,降低传输流量,减短响应时间:

gzip  on;
			gzip_min_length    1k;
			gzip_buffers    4 16k;
			gzip_http_version  1.1;
			gzip_comp_level  2;
			gzip_types  text/plain application/x-javascript text/css  application/xml  application/json ;
			gzip_vary on;

网友测试加载速度对比:

网友测试连接:https://blog.csdn.net/chunyuan314/article/details/56312634

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值