nginx+tomcat配置负载均衡集群

简介:
一、Hello world
1、前期环境准备
  1. 准备两个解压版tomcat,如何同时启动两个tomcat,方法如下:
    首先去apache tomcat官网下载一个tomcat解压版。image
    解压该压缩包,生成n份tomcat 分别命名为 tomcat1,tomcat2,
    image
    然后修改server.xml配置文件,分别进入tomcat/conf/目录,修改server.xml,一共三处。
    image
    第一处:
    image
    第二处、tomcat访问端口号:
    image
    第三处:
    image
    之后修改bin下的启动文件
    分别进入tomcat/bin目录,修改 startup.bat
    在文件第一行添加如下配置(添加时删除#注释,在startup.bat文件中rem代表注释):在文件第一行添加如下配置(添加时删除#注释,在startup.bat文件中rem代表注释):

    1234567
    # tomcat名称set TITLE="tomcat1"# tomcat启动路径set CATALINA_BASE="D:\tools\tomcat1"set CATALINA_HOME="D:\tools\tomcat1"# JDK所在路径,如果环境变量已经配置,则可忽略,前提是你所有tomcat要共用一个jdk。另外如果设置,此处路径不能有空格SET JAVA_HOME="D:\Java\jdk1.7.0_45"

如图:
image
image
启动tomcat
平常直接双击startup.bat即可,但是为了查看配置信息,可以在cmd中启动,如下图:
image
访问tomcat
在浏览器地址栏输入:http://localhost:8081 和 http://localhost:8082
image

  1. nginx官网下载解压版nginx。

  2. 创建一个简单的web项目。为了直观的区分访问的哪个tomcat,在页面写上标记8081、8082。image

  3. 分别部署到对应的tomcat下。如图:image

    2、配置nginx

    进入nginx-1.10.1\conf路径,修改配置文件nginx.conf。

  4. 配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

    1234
    upstream nginxDemo {server 127.0.0.1:8081;   #服务器地址1server 127.0.0.1:8082;   #服务器地址2}
  5. 修改nginx监听的端口号80,改为8080。

    1234
    server {listen       8080;......}
  6. 在location{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。

    12345
    location / {root   html;index  index.html index.htm;proxy_pass http://nginxDemo; #配置方向代理地址}

如下图:
image

3、启动nginx和tomcat,访问

我是Windows系统,所以直接在nginx-1.10.1目录下双击nginx.exe即可。可在任务管理器中查看:
image
最后在浏览器输入地址:http://localhost:8080/nginxDemo/index.jsp,每次访问就会轮流访问tomcat了(如果F5刷新不管用,建议试试鼠标指针放到地址栏,点击Enter键)。
image
image
到这里,一个非常简单的负载均衡就配置完成了。

本文转自飞奔的小GUI博客51CTO博客,原文链接http://blog.51cto.com/9237101/2070351如需转载请自行联系原作者


ziwenzhou

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
5月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
负载均衡 网络协议 算法
一文读懂什么是Nginx?它能否实现IM的负载均衡?
Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案,从某种意义上来讲,Nginx几乎是低成本、高负载Web服务端代名词。 如此深入人心的Nginx,很多人也想当然的认为,在IM或消息推送等场景下是否也能使用Nginx来解决负载均衡问题? 另外,即时通讯网的论坛和QQ群里也经常有人问起,Nginx是否能支持TCP、UDP、WebSocket的负载
331 4
|
10月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
327 21
|
10月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
315 14
|
10月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
413 11
|
负载均衡 算法 应用服务中间件
Nginx长连接负载均衡详细说明以及案例
本文详细介绍了Nginx长连接负载均衡的配置与原理。长连接(Keepalive)允许客户端和服务器保持连接,减少建立和关闭连接的开销。Nginx支持多种负载均衡算法,如轮询、IP哈希等。通过在Nginx配置文件中使用`upstream`模块和`keepalive`指令,可以实现长连接负载均衡,从而提高系统的性能和响应速度。示例配置展示了如何设置后端服务器组、长连接数及HTTP/1.1协议,确保连接复用,降低延迟。
703 5
|
12月前
|
负载均衡 应用服务中间件 nginx
如何使用nginx实现负载均衡?
如何使用nginx实现负载均衡?
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
944 9
|
弹性计算 负载均衡 监控
slb配置健康检查
slb配置健康检查
340 5
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
361 2