1. 反向代理

1.1 什么是反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
首先我们先理解正向代理,如下图:
image.png
正向代理是针对你的客户端,而反向代理是针对服务器的,如下图
image.png
image.png

4.1.2 配置反向代理-准备工作

(1)将travel案例部署到tomcat中(ROOT目录),上传到服务器。
(2)启动TOMCAT,输入网址http://192.168.177.129:8080 可以看到网站首页

4.1.3 配置反向代理

(1)在Nginx主机修改 Nginx配置文件

  1. upstream tomcat-travel{
  2. server 192.168.177.129:8080;
  3. }
  4. server {
  5. listen 80; # 监听的端口
  6. server_name www.hmtravel.com; # 域名或ip
  7. location / { # 访问路径配置
  8. # root index;# 根目录
  9. proxy_pass http://tomcat-travel;
  10. index index.html index.htm; # 默认首页
  11. }
  12. }

(2)重新启动Nginx 然后用浏览器测试:http://www.hmtravel.com (此域名须配置域名指向)

2. 负载均衡

2.1 什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器FTP服务器企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

2.2 配置负载均衡-准备工作

(1)将刚才的存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082 。
(2)分别启动这三个tomcat服务。
(3)为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。

2.3 配置负载均衡

修改 Nginx配置文件:

  1. upstream tomcat-travel {
  2. server 192.168.177.129:8080;
  3. server 192.168.177.129:8081;
  4. server 192.168.177.129:8082;
  5. }
  6. server {
  7. listen 80; # 监听的端口
  8. server_name www.hmtravel.com; # 域名或ip
  9. location / { # 访问路径配置
  10. # root index; # 根目录
  11. proxy_pass http://tomcat-travel;
  12. index index.html index.htm; # 默认首页
  13. }
  14. error_page 500 502 503 504 /50x.html; # 错误页面
  15. location = /50x.html {
  16. root html;
  17. }
  18. }

地址栏输入http:// www.hmtravel.com / 刷新观察每个网页的标题,看是否不同。
经过测试,三台服务器出现的概率各为33.3333333%,交替显示。
如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。
比如想让NO.1出现次数是其它服务器的2倍,则修改配置如下:

  1. upstream tomcat-travel {
  2. server 192.168.177.129:8080;
  3. server 192.168.177.129:8081 weight=2;
  4. server 192.168.177.129:8082;
  5. }

经过测试,每刷新四次,有两次是8081