• 15-基于Nginx构建Tomcat集群


    Nginx构建Tomcat集群

    搭建构图

    我因为使用虚拟机的关系, 我就不搭建那么多Linux了, 直接用3个端口区分

    Linux安装JDK

    1. [root@localhost tomcats]# java -version
    2. openjdk version "1.8.0_181"
    3. OpenJDK Runtime Environment (build 1.8.0_181-b13)
    4. OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
    5. [root@localhost tomcats]#

    因为本地虚拟机直接有OpenJDK的原因, 我就直接用openJDK了, 如果不喜欢可以自己卸载了, 再安装Oracle的

    搭建三台Tomcat

    我直接用springboot jar包了, 就不搭建外置的Tomcat了

    写一个SpringBoot程序,写一个接口,返回IP+端口号

    1. package com.monai.getheader.controller;
    2. import org.springframework.beans.factory.annotation.Value;
    3. import org.springframework.web.bind.annotation.GetMapping;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. import org.springframework.web.bind.annotation.RestController;
    6. @RestController
    7. @RequestMapping("/getInfo")
    8. public class HelloController {
    9. @Value("${server.port}")
    10. public String port;
    11. @GetMapping
    12. public String getInfo(){
    13. return "192.158.247.136:"+port;
    14. }
    15. }

    写完测试一下

    ok

    打包上传到服务器, 记得修改端口, 我的三台为8001,8002,8003

    以后台的方式启动三个jar包

    1. nohup java -jar getInfo-8001.jar >catlina.log &
    2. nohup java -jar getInfo-8002.jar >catlina.log &
    3. nohup java -jar getInfo-8003.jar >catlina.log &

    测试访问

    没有问题, 因为ip是我写死的, 158是写错了, 不用管

    修改Nginx配置文件

    新增加一个单独的配置, 然后通过导入的方式引用

    vi getInfo.conf

    1. upstream tomcats {
    2. server 192.168.247.136:8001;
    3. server 192.168.247.136:8002;
    4. server 192.168.247.136:8003;
    5. }
    6. server{
    7. listen 80;
    8. server_name www.tomcat.com;
    9. location / {
    10. proxy_pass http://tomcats;
    11. }
    12. }

    在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, 下载即可使用

    成功实现集群

  • 相关阅读:
    Linux下进程间的通信--共享内存
    项目管理的核心是什么?
    helm2.0安装及部署
    第十一章《Java实战常用类》第1节:包装类
    Docker镜像制作
    ChatGPT能给IOT行业带来哪些改变
    C++面向对象程序设计(第2版)第三章(怎样使用类和对象)知识点总结
    MySQL是如何实现事务的隔离级别
    深入解读Java SPI,还有谁不会?
    赠送天翼云电脑,解决一点园子的商业化烦恼
  • 原文地址:https://blog.csdn.net/flowerStream/article/details/126735463