Nginx反向代理与负载均衡

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: Nginx反向代理与负载均衡

Nginx反向代理与负载均衡

1、反向代理

(1)什么是方向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外的表现为一个反向代理服务器。


首先我们先理解正向代理,如下图:

正向代理是针对你的客户端,而反向代理是针对服务器的,如下图

2)配置反向代理

  • 将index,regit文件部署到tomcat中(ROOT目录),上传到服务器。

  • 启动TOMCAT

访问首页:Bootstrap HelloWorld

访问注册:注册页面

  • 在Nginx主机修改 Nginx配置文件(/usr/local/nginx/conf/nginx.conf)
#配置反向代理
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; # 默认首页
                    }
          }
  • 重新启动Nginx 然后用浏览器测试: Bootstrap HelloWorld(此域名须配置域名向)


2、负载均衡

(1)什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器FTP服务器企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

(2)配置负载均衡-准备工作

  • 将刚才的存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082 。
#复制三台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 

 

  • 在阿里云上面开放8080,8081,8082端口号

  • 分别启动这三个tomcat服务。
  • 为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。

(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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7月前
|
负载均衡 网络协议 算法
一文读懂什么是Nginx?它能否实现IM的负载均衡?
Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案,从某种意义上来讲,Nginx几乎是低成本、高负载Web服务端代名词。 如此深入人心的Nginx,很多人也想当然的认为,在IM或消息推送等场景下是否也能使用Nginx来解决负载均衡问题? 另外,即时通讯网的论坛和QQ群里也经常有人问起,Nginx是否能支持TCP、UDP、WebSocket的负载
165 4
|
4月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
144 21
|
4月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
118 14
|
4月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
156 11
|
6月前
|
负载均衡 算法 应用服务中间件
Nginx长连接负载均衡详细说明以及案例
本文详细介绍了Nginx长连接负载均衡的配置与原理。长连接(Keepalive)允许客户端和服务器保持连接,减少建立和关闭连接的开销。Nginx支持多种负载均衡算法,如轮询、IP哈希等。通过在Nginx配置文件中使用`upstream`模块和`keepalive`指令,可以实现长连接负载均衡,从而提高系统的性能和响应速度。示例配置展示了如何设置后端服务器组、长连接数及HTTP/1.1协议,确保连接复用,降低延迟。
389 5
|
6月前
|
负载均衡 应用服务中间件 nginx
如何使用nginx实现负载均衡?
如何使用nginx实现负载均衡?
|
10月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
447 61
|
8月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
1250 20
|
10月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
559 60
|
10月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
573 60