3.1 反向代理(一)
在做任何事情之前,要明确一件事情,要达到什么效果、目的。
-
实现效果
打开浏览器,在浏览器的地址栏中输入一个地址www.lyt.com,跳转到Linux系统的tomcat主页面中
-
准备工作
在Linux下安装tomcat,使用默认端口8080
(1)将tomcat安装文件放到Linux系统中,解压
(2)进入tomcat的bin目录中,
./startup.sh
启动Tomcat服务器查看开放的端口号:
firewall-cmd --list-all
设置开放的端口号:
firewall-cmd --add-port=8080/tcp --permanent
重启防火墙:
firewall-cmd --reload
(3)在windows系统中通过浏览器访问tomcat服务器
-
访问过程分析
-
具体配置
(1)在Windows系统的host文件进行域名和ip对应关系的配置
(2)在nginx中进行请求转发的配置(反向代理配置)
当访问192.168.187.11:80就会转发到127.0.0.1:8080。
- 最终的测试
cd /usr/local/sbin
执行./nginx
开始nginx服务,到Windows下进行测试。效果如下:
3.2 反向代理(二)
-
实现效果
使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听的端口为9001
访问http://192.168.187.11:9001/edu/ 直接跳转到127.0.0.1:8080
访问http://192.168.187.11:9001/vod/ 直接跳转到127.0.0.1:8081
-
准备工作
(1)准备两个tomcat服务器,一个8080端口,一个8081端口。(复制两份放到两个文件夹中,分别启动,将其中一个端口修改为8081)
修改端口: 到文件
tomcat/conf/server.xml
中修改:
(2)创建文件夹和测试页面
在两台tomcat里面webapps目录中,创建edu,vod文件夹,在edu,vod文件夹中创建页面a.html,用于测试
-
具体配置
(1)找到nginx配置文件,进行反向代理的配置
(2)开放对外访问的端口号9001 8080 8081 -
最终测试
注:location指令说明
该指令用于匹配URL。
语法如下:
location [ = | ~ | ~* | ^~] uri{ }
3.3 负载均衡
-
实现效果
浏览器地址栏输入地址http://192.168.187.11/edu/a.html,实现负载均衡效果,将请求平均分发到8081和8082端口中
-
准备工作
(1)准备两台tomcat服务器,一台8081,一台8082
(2)在两台tomcat里面webapps目录中,创建edu文件夹,在edu文件夹中创建页面a.html,用于测试
-
在nginx的配置文件中进行负载均衡的配置
(1)在http块中加上upstream 服务名{列出负载均衡tomcat服务器的列表}
(2)在server里加上规则server_name改为我们的ip,location中加上起的服务名
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中的一个,在Linux下有nginx、lvs、haproxy等等服务可以提供负载均衡服务,而且nginx提供了几种分配方式(策略):
-
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
-
weight
weight代表权重,默认为1,权重越高被分配的客户端越多
upstream server_name{ server 192.168.187.11:8081 weight=5; server 192.168.187.11:8082 weight=10; }
-
ip_hash
每个请求按访问ip的hash结果分配,这样每个访客(ip)固定访问一个后端服务器,可以解决session问题,例如:
upstream server_name{ ip_hash; server 192.168.187.11:8081; server 192.168.187.11:8082; }
-
fail(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配
upsrteam server_name{ server 192.168.187.11:8081; server 192.168.187.11:8082; fair; }
-
少年易老学难成,一寸光阴不可轻