码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Tomcat多实例及nginx反向代理tomcat


    • tomcat多实例介绍:

      • 什么是Tomcat多实例?

        • Tomcat多实例就是指在同一台服务器上运行多个独立的tomcat实例,每个实例之间都是相互隔离的。
        • 每个tomcat实例都具有独立的配置文件、日志文件、应用程序和端口。
        • 通过配置不同的端口和文件目录,可以实现同时运行多个独立的tomcat服务,每个服务器都可以独立的处理用户请求。
        • 这样既提高了服务器的并发处理能力,也可以实现负载均衡和高可用性。
      • 配置多个tomcat实例的步骤:

        • 1.复制tomcat目录
          • 确保每个实例有自己的目录
        • 2.配置端口:
          • 确保每个实例使用的端口是不一致的,可以在每个实例额的server.xml配置文件中更改
        • 3.配置日志:
          • 每个实例都应该有自己的日志目录,以避免混淆。
        • 4.配置应用程序:
          • 每个Tomcat实例可以部署不同的应用程序。确保将应用程序部署到正确的Tomcat实例目录中。
        • 5.启动和管理:
          • 为每个实例创建启动脚本,并确保他们以不同的用户和组身份运行,以避免冲突。
    • 本章实验环境:
    • 实验思路:首先配置两个tomcat实例,实现两个web网页,再部署nginx反向代理到tomcat实例1和实例2上面,实现了反向代理和负载均衡。
    • 实验步骤:

      • 1.配置tomcat多实例:

    •         wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.64/bin/apache-tomcat-8.5.64.tar.gz
      • 拖包解压:tar xf apache-tomcat-8.5.64.tar.gz -C /opt/
      • 复制两个目录,分别做不同实例的目录:
        • cd /opt/
        • cp -a apache-tomcat-8.5.64 tomcat_01
        • cp -a apache-tomcat-8.5.64 tomcat_02
    • 通过配置文件修改端口:
        1. sed -i 's#8005#8006#g' tomcat_01/conf/server.xml
        2. sed -i 's#8009#8010#g' tomcat_01/conf/server.xml
        3. sed -i 's#8080#8081#g' tomcat_01/conf/server.xml
        4. sed -i 's#8005#8007#g' tomcat_02/conf/server.xml
        5. sed -i 's#8009#8011#g' tomcat_02/conf/server.xml
        6. sed -i 's#8080#8082#g' tomcat_02/conf/server.xml

    • 启动两台实例:
      • /opt/tomcat_01/bin/startup.sh
      • /opt/tomcat_02/bin/startup.sh
    • 查看服务是否启动:
      • netstat -anput | grep java
    • 将两台实例的首页修改为不同的网站首页:
        1. rm -rf /opt/tomcat_01/webapps/ROOT/*
        2. echo "tomcat_01" > /opt/tomcat_01/webapps/ROOT/index.html
        3. rm -rf /opt/tomcat_02/webapps/ROOT/*
        4. echo "tomcat_02" > /opt/tomcat_02/webapps/ROOT/index.html

    • 2.配置nginx反向代理:

      • yum -y install epel-release
      • 安装nginx:yum install nginx -y
      • 创建代理配置文件:
        • rm -rf /etc/nginx/conf.d/default.conf
        • vim /etc/nginx/conf.d/proxy.conf
            1. upstream java {
            2. server 192.168.8.5:8081;
            3. server 192.168.8.5:8082;
            4. }
            5. server {
            6. listen 80;
            7. server_name www.jpress.com;
            8. root html;
            9. index index.html index.htm;
            10. location / {
            11. proxy_pass http://java;
            12. proxy_set_header Host $http_host;
            13. proxy_set_header X-Real-IP $remote_addr;
            14. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            15. }
            16. }

        • 检查配置文件:
          • nginx -t
        • 启动nginx:nginx
        • 访问网页测试:http://192.168.8.5
  • 相关阅读:
    nginx(六十四)proxy模块(五)接收上游响应
    携职教育:【建议收藏】14个热门证书,最全考证时间表
    MS COCO数据集的评价标准以及不同指标的选择推荐(AP、mAP、MS COCO、AR、@、0.5、0.75、1、目标检测、评价指标)
    基于三维Voronoi图划分的加权混合回归定位算法
    C/C++之自定义类型(结构体,位段,联合体,枚举)详解
    scapy No such device exists (No such device exists)
    猿创征文|【Linux Debug】有了core-dump,Bug一举拿下!
    linux批量修改多个文件的同一部分内容
    在Ubuntu 系统下开发GUI,用哪种开发工具比较好?
    微信小程序地图应用总结版
  • 原文地址:https://blog.csdn.net/2302_77503226/article/details/136700474
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号