在悄悄发光 2024-05-06 22:40 采纳率: 71.4%
浏览 7
已结题

七台虚拟机,一台主机编写html文件(编译tomcat和配置LB),两台配置LB负载均衡(keeplived),四台免密登陆并编写编译写出tomcat的剧本

七台虚拟机,一台主机编写html文件(编译tomcat和配置LB),两台配置LB负载均衡(keeplived),四台免密登陆并编写编译写出tomcat的剧本

img

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-06 22:40
    关注

    引自免费微信小程序:皆我百晓生

    要实现这个任务,首先我们需要在主机上安装所需的软件包,并创建一个简单的HTML文件。然后,我们需要在两台LB机器上配置Keepalived进行负载均衡。最后,在四台Tomcat服务器上设置SSH无密码登录并部署应用程序。

    以下是详细的步骤:

    主机 (Host) 配置

    1. 安装Apache Tomcat和相关依赖:
    sudo apt-get update
    sudo apt-get install -y openjdk-8-jdk tomcat9 tomcat9-admin
    
    1. 创建一个简单的HTML文件:
    echo "<html><body><h1>Hello, World!</h1></body></html>" > /var/lib/tomcat9/webapps/ROOT/index.html
    
    1. 启动并设置Tomcat为开机启动:
    sudo systemctl start tomcat9
    sudo systemctl enable tomcat9
    

    Keepalived 负载均衡器配置 (LB1 and LB2)

    1. 在两台LB机器上安装Keepalived:
    sudo apt-get update
    sudo apt-get install -y keepalived
    
    1. 编辑/etc/keepalived/keepalived.conf,添加以下配置(根据实际情况更改IP地址和端口号):
    global_defs {
       router_id  lb1
    }
    
    vrrp_instance VI_1 {
       state MASTER
       interface eth0
       virtual_router_id 51
       priority 100
       advert_int 1
       authentication {
           auth_type PASS
           auth_pass secretpassword
       }
       virtual_ipaddress {
           192.168.1.100/32 dev eth0
       }
       track_script {
           check_tomcat {
               script "perl -e 'use Net::Ping; my $ping = Net::Ping->new('tcp'); return 0 unless $ping->ping(\"${tomcat_host}\", ${ping_timeout}); print 1;'"
               interval 5
               fall 3
               rise 2
           }
       }
    }
    
    vrrp_instance VI_2 {
       state BACKUP
       interface eth0
       virtual_router_id 52
       priority 90
       advert_int 1
       authentication {
           auth_type PASS
           auth_pass secretpassword
       }
       virtual_ipaddress {
           192.168.1.101/32 dev eth0
       }
       track_script {
           check_tomcat {
               script "perl -e 'use Net::Ping; my $ping = Net::Ping->new('tcp'); return 0 unless $ping->ping(\"${tomcat_host}\", ${ping_timeout}); print 1;'"
               interval 5
               fall 3
               rise 2
           }
       }
    }
    
    1. 将Tomcat服务器的IP地址替换为 ${tomcat_host},将检查间隔时间替换为 ${ping_timeout}
    2. 重启Keepalived服务:
    sudo systemctl restart keepalived
    
    1. 检查状态:
    sudo keepalived -D
    

    Tomcat服务器配置 (Server1, Server2, Server3, Server4)

    1. 安装Tomcat和相关依赖: 按照主机配置中的第一步操作。

    2. 创建一个简单的HTML文件: 按照主机配置中的第二步操作。

    3. 启动并设置Tomcat为开机启动: 按照主机配置中的第三步操作。

    4. 设置SSH无密码登录:

    • 在所有Tomcat服务器上生成SSH密钥对:
    ssh-keygen -t rsa
    
    • 将公钥复制到LB1和LB2:
    ssh-copy-id user@lb1_ip
    ssh-copy-id user@lb2_ip
    
    1. 部署应用程序到Tomcat服务器:
    scp your_app.war user@server1_ip:/var/lib/tomcat9/webapps/
    

    重复此命令,将应用部署到其他三台Tomcat服务器。

    这样就完成了整个系统的配置。当访问负载均衡器的VIP地址时,请求会被自动分发到健康的Tomcat服务器上。可以通过修改Keepalived配置中的优先级来改变主从角色。记得根据实际情况调整网络配置、IP地址和端口号。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日
  • 创建了问题 5月6日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见