Nginx反向代理与负载均衡
1、反向代理
(1)什么是方向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外的表现为一个反向代理服务器。
首先我们先理解正向代理,如下图:
正向代理是针对你的客户端,而反向代理是针对服务器的,如下图
(2)配置反向代理
访问首页:Bootstrap HelloWorld
访问注册:注册页面
#配置反向代理
upstream?tomcat-travel{
?????server?39.101.132.4:8080/index/;
????}
????server?{
????????listen???????80;?#?监听的端口
????????server_name??wanghj.online:8080/index;?#?域名或ip
????????location?/?{??#?访问路径配置
???????????????????#?root???index;?根目录
???????????????????proxy_pass?http://tomcat-travel;
???????????????????????????????index??index.html?index.htm;?#?默认首页
????????????????????}
??????????}
2、负载均衡
(1)什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
(2)配置负载均衡-准备工作
#复制三台tomcat
cp?-rf??apache-tomcat-7.0.57?tomcat8081
cp?-rf??apache-tomcat-7.0.57?tomcat8082
#找到8081,8082下【conf】目录下的【server.xml】
?vim?server.xml?
(3)配置负载均衡
upstream?tomcat-travel?{
?????server?39.101.132.4:8080;
?????server?39.101.132.4:8081;
?????server?39.101.132.4:8082;
????}
????server?{
????????listen???????80;?#?监听的端口
????????server_name??wanghj.online;?#?域名或ip
????????location?/?{??#?访问路径配置
????????proxy_pass?http://tomcat-travel;
????????index??index/index.html?index/index.htm;?#?默认首页
????????}
????????error_page???500?502?503?504??/50x.html;??#?错误页面
????????location?=?/50x.html?{
?????????root???html;
????????}
????}
地址栏输入http://wanghj.online / 刷新观察每个网页的标题,看是否不同。
经过测试,三台服务器出现的概率各为33.3333333%,交替显示。
如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。
比如想让tomcat8080出现次数是其它服务器的2倍,则修改配置如下:
??upstream?tomcat-travel?{
?????server?39.101.132.4:8080?weight=2;
?????server?39.101.132.4:8081;
?????server?39.101.132.4:8082;
????}
经过测试,每刷新四次,有两次是8080
|