15-基于Nginx构建Tomcat集群
Nginx构建Tomcat集群
搭建构图
我因为使用虚拟机的关系, 我就不搭建那么多Linux了, 直接用3个端口区分
Linux安装JDK
[root@localhost tomcats]# java -version openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) [root@localhost tomcats]#
因为本地虚拟机直接有OpenJDK的原因, 我就直接用openJDK了, 如果不喜欢可以自己卸载了, 再安装Oracle的
搭建三台Tomcat
我直接用springboot jar包了, 就不搭建外置的Tomcat了
写一个SpringBoot程序,写一个接口,返回IP+端口号
package com.monai.getheader.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/getInfo") public class HelloController { @Value("${server.port}") public String port; @GetMapping public String getInfo(){ return "192.158.247.136:"+port; } }
写完测试一下
ok
打包上传到服务器, 记得修改端口, 我的三台为8001,8002,8003
以后台的方式启动三个jar包
nohup java -jar getInfo-8001.jar >catlina.log & nohup java -jar getInfo-8002.jar >catlina.log & nohup java -jar getInfo-8003.jar >catlina.log &
测试访问
没有问题, 因为ip是我写死的, 158是写错了, 不用管
修改Nginx配置文件
新增加一个单独的配置, 然后通过导入的方式引用
vi getInfo.conf
upstream tomcats { server 192.168.247.136:8001; server 192.168.247.136:8002; server 192.168.247.136:8003; } server{ listen 80; server_name www.tomcat.com; location / { proxy_pass http://tomcats; } }
在nginx.conf配置文件中引入
检查并重启nginx
这里出现了一个问题
nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
我在启动的时候说是找不到这样的一个文件夹, 不是没有么, 那么就创建一个
mkdir /var/run/nginx/
再次尝试启动, 启动成功
访问
因为在配置时使用的是域名www.tomcat.com
,但是我们没有DNS服务, 最简单的方式就是修改本地Host
添加映射规则
192.168.247.136 www.tomcat.com
推荐一个好用的工具SwitchHost, 下载即可使用
成功实现集群
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2021-09-06 16-SpringCloud Sleuth
2020-09-06 Activiti7 组任务
2020-09-06 Activiti7 流程变量(UEL-Value方式)
2020-09-06 Activiti7 流程变量(理论)