当前位置: 首页 > news >正文

Ctenos7安装mysql-8.1.0/tomcat-9.0.80/LNMT部署

目录

一、实验拓扑

二、部署mysql

 三、部署Tomcat

 四、配置NGINX

五、 配置NGINX的双机热备提高可用性



一、实验拓扑

二、部署mysql

官网下载地址https://dev.mysql.com/downloads/mysql/

1、移除mariadb,安装所需应用

                                    mysql-8.1.0 社区版 安装说明官网下载地址https://dev.mysql.com/downloads/mysql/1、yum remove mariadb
2、yum -y install liaio net-tools
3、解压安装包,进入安装包执行以下命令
yum install -y perl-Module-Install.noarch
yum install perl-Test-*.noarch -y
rpm -ivh mysql-community-common-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm 
yum install -y perl-Module-Install.noarch
rpm -ivh mysql-community-common-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm 
yum install perl-Test-*.noarch -y
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm 
yum remove mariadb-libs.x86_64 -y
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-debuginfo-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-embedded-compat-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-icu-data-files-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-8.1.0-1.el7.x86_64.rpm rpm -ivh mysql-community-server-debug-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-devel-8.1.0-1.el7.x86_64.rpm 
yum install -y openssl
rpm -ivh mysql-community-devel-8.1.0-1.el7.x86_64.rpm 
yum install -y openssl*
rpm -ivh mysql-community-devel-8.1.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-test-8.1.0-1.el7.x86_64.rpm 
yum install -y perl*
rpm -ivh mysql-community-test-8.1.0-1.el7.x86_64.rpm 
4、启动MYSQL
systemctl start mysqld
5、查看临时密码
cat /var/log/mysqld.log | grep password
6、登录MYSQL
mysql -u root -p
7、修改密码
alter user 'root'@'localhost' identified by '123456.Com';
flush privileges
创建库jx
create database jx;
8、远程登录用户创建
create user 'hy'@'%' identified by '123456.Com';
grant all privileges on 库名.表明 to 'hy'@'%' with grant options;
flush privileges;
9、命令行操作mysql
mysql -u root -p -e " show databases;"

2、同理在192.168.115.136上安装mysql并验证远程登录账户

mysql -u hy -p'123456.Com' -h 192.168.115.131 -P 3306 -e "show databases;"

 三、部署Tomcat

在192.168.115.136/192.168.115.140部署tomcat

java环境Java SE | Oracle Technology Network | Oracle

Tomcat    Apache Tomcat® - Welcome!

                                                Java环境部署
1、which Java 查看Java的路径Java -version 查看Java版本如果版本达不到我们的安装要求就使用rm -rf 配合which java 删除现有版本2、直接使用rpm -ivh jdk-20_linux-x64_bin.rpm 安装即可安装完成后查看which JavaJava -versionTomcat部署
Tomcat下载地址 https://tomcat.apache.org/
1、解压tar -xf apache-tomcat-9.0.80.tar.gzmv apache-tomcat-9.0.80 /usr/local/tomcat
2、建立软联建启动命令   ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/catup停止命令   ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/catdown

启动 catup

访问测试,ok

 四、配置NGINX

192.168.115.141/192.168.115.142安装NGINX配置动静分离,负载均衡

1、安装

yum -y install epel-release.noarch 
yum -y install nginx

2、配置

vim /etc/nginx/nginx.conf
##在http字段插入
upstream tomcat {server 192.168.115.136:8080;server 192.168.115.140:8080;}
##在server字段插入
location ~ \.jsp$ {                                ####这里是jspproxy_pass http://tomcat;proxy_set_header  Host $host;}location / {root    /usr/share/nginx/html;index   index.html;}
###保存退出重启服务

3、测试

分别访问192.168.115.141/192.168.115.142

静态页面

动态页面

五、 配置NGINX的双机热备提高可用性

yum -y install keepalived
vim /etc/keepalived/keepalived.conf
#######################配置####################################
############################################################
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVEL            ###从的编号要改动一下 LVS_DEVEL1vrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTER                  ###从改为BACKUPinterface ens33               ###网卡名virtual_router_id 51priority 100                  ###从的优先级要比主低advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.115.200          ###VIP用来访问的虚拟IP}
}
virtual_server 192.168.115.200 8080 {       ###vip对应的真是IP 在下面delay_loop 6lb_algo rr persistence_timeout 50protocol TCPreal_server 192.168.115.136 8080 {        ###这是Tomcat服务器的IPweight 1HTTP_GET {url { path /testurl/test.jsp}
url { path /testurl2/test.jsp}url { path /testurl3/test.jsp}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.115.140 8080 {       ###这是Tomcat服务器的IPweight 1HTTP_GET {url { path /testurl/test.jsp}url { path /testurl2/test.jsp
}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

启动keepalived

systemctl start keepalived.service 

看看主调器的IP

 现在模拟主机宕机用备调度器访问VIP192.168.115.200

先查看备的IP,keepalived生效

静态页面

动态页面

 依旧正常访问,经过简单的测试后我们可以在Tomcat上部署应用了

相关文章:

Ctenos7安装mysql-8.1.0/tomcat-9.0.80/LNMT部署

目录 一、实验拓扑 二、部署mysql 三、部署Tomcat 四、配置NGINX 五、 配置NGINX的双机热备提高可用性 一、实验拓扑 二、部署mysql 官网下载地址https://dev.mysql.com/downloads/mysql/ 1、移除mariadb,安装所需应用 mysql-8.1.0 社区版 安装说明官网下载地址…...

input时间表单默认样式修改(input[type=“date“])

一、时间选择的种类: HTML代码&#xff1a; <input type"date" value"2018-11-15" />选择日期&#xff1a; 选择时间&#xff1a; <input type"time" value"22:52" />在这里插入图片描述 选择星期&#xff1a; <…...

首页搜索框传递参数,并在搜索页面中的搜索框中进行显示,搜索框绑定回车键进行搜索

实现搜索条件和搜索内容固定&#xff0c;以及回车键搜索跳转 1.写出搜索条件和搜索框 <form class"parent"><select id"searchSelect" style"border: 1px solid #325da7;border-right: none;" value"resource"><opt…...

【Vue3+Ts】项目启动准备和配置项目代码规范和css样式的重置

项目启动准备 创建项目&#xff08; 使用Vite 构建工具创建项目模板&#xff09;目录介绍插件安装创建别名编译说明项目配置配置icon和标题配置项目别名配置ts.config.json检测vscode的插件是否配置 配置项目代码规范集成editorconfig配置prettier工具库ESLint检测配置 CSS样式…...

Java【手撕双指针】LeetCode 15. “三数之和“, 图文详解思路分析 + 代码

文章目录 前言一、三数之和1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 &#x1f4d7; Java数据结构: 顺序表, 链表, 堆…...

Flutter:自定义组件的上下左右弹出层

背景 最近要使用Flutter实现一个下拉菜单&#xff0c;需求就是&#xff0c;在当前组件下点击&#xff0c;其下方弹出一个菜单选项&#xff0c;如下图所示&#xff1a; 实现起来&#xff0c;貌似没什么障碍&#xff0c;在Flutter中本身就提供了弹出层PopupMenuButton组件和show…...

C++处理终端程序中断或意外退出的情况

目录 背景和需求解决方法关于信号类型 背景和需求 Linux环境中&#xff0c;有一个可执行程序&#xff0c;假设该程序的运行生命周期需要调用下面四个函数&#xff1a; int connect(); int start();int end(); int disconnect();如果用户在程序运行期间&#xff0c;手动CTRLC或…...

分布式锁:业务锁和定时任务锁

一&#xff1a;业务锁 在代码业务逻辑加锁&#xff0c;防止不同业务操作相同业务表导致数据错乱&#xff0c;设置锁进行等待。这里锁使用的是ReentrantLock。详细的介绍可以参考&#xff1a; https://blog.csdn.net/jerry11112/article/details/112375167 Slf4j public class…...

路由器的简单概述(详细理解+实例精讲)

系列文章目录 华为数通学习&#xff08;4&#xff09; 目录 系列文章目录 华为数通学习&#xff08;4&#xff09; 前言 一&#xff0c;网段间通信 二&#xff0c;路由器的基本特点 三&#xff0c;路由信息介绍 四&#xff0c;路由表 五&#xff0c;路由表的来源有哪些…...

Mapper.xml文件解析

Mapper.xml文件解析 简单解读 最近在做一个分布式项目&#xff0c;看到xml文件原先只是上网CV&#xff0c;还是要搞清楚吧&#xff01; 下面是一个Mybatis的SQL映射文件的配置 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC…...

ES 7.6 - JAVA应用基础操作篇

ES 7.6 - JAVA应用基础操作篇 环境准备依赖配置 实体类准备使用说明索引/映射操作创建索引和映射索引和映射相关查询删除索引 文档操作插入数据更新数据删除数据批量操作 文档查询根据ID查询根据字段精准查询根据字段分词查询控制返回字段范围查询组合查询排序分页高亮搜索聚合…...

com.squareup.okhttp3:okhttp 组件安全漏洞及健康度分析

组件简介 维护者square组织许可证类型Apache License 2.0首次发布2016 年 1 月 2 日最新发布时间2023 年 4 月 23 日GitHub Star44403GitHub Fork9197依赖包5,582依赖存储库77,217 com.squareup.okhttp3:okhttp 一个开源的 HTTP 客户端库&#xff0c;可以用于 Android 和 Jav…...

【Unity的HDRP渲染管线下用Steam VR串流结合使用遇到的各种问题_SteamVR 插件和Pico串流助手】

用Steam串流VR 背景:1.项目准备:相关文档和社区资源需要下载的工具2.梳理工程渲染设置和场景烘培正确:几个概念的一些说明:1. SteamVR:2. SteamVR插件:3. OpenVR和OpenXR:4. XRI:5. Pico串流助手:6. "Mock Runtime"选项含义SteamVR插件导入配置好SteamVR Came…...

Unity——音乐、音效

在游戏运行的过程中&#xff0c;音效的播放时机与游戏当前内容密切相关&#xff0c;而且随着场景的变化、剧情的推进&#xff0c;背景音乐也需要适时切换&#xff0c;所以恰当地控制音乐和音效的播放非常重要。音乐和音效的播放、停止、切换和音量变化等&#xff0c;都需要由脚…...

Ubuntu 23.10 将首次推出基于 Flutter 的新 Ubuntu 商店

导读Ubuntu 正在升级其软件商店以提供顺滑的体验&#xff01; 随着不断发展&#xff0c;Canonical 似乎全力以赴&#xff0c;将基于 Flutter 的元素整合到 Ubuntu 中。 在前段时间 Ubuntu 23.04 发布后&#xff0c;我们见到了基于 Flutter 的安装程序 &#xff0c;现在&#x…...

linux scatterlist阅读三

sg_copy_buffer 函数定义&#xff1a; /*** sg_copy_buffer - Copy data between a linear buffer and an SG list* sgl: The SG list* nents: Number of SG entries* buf: Where to copy from* buflen: The number of bytes to copy* skip: Number of bytes to sk…...

2023新,centos7安装mysql8.0.25

2023新&#xff0c;centos7安装mysql8.0.25 目录 2023新&#xff0c;centos7安装mysql8.0.251、下载rpm文件2、安装3、配置my.cnf4、启动查看重启服务5、登入mysql并修改密码6、修改可以远程登录 1、下载rpm文件 进入到你想要的文件地址下 wget https://repo.mysql.com//mysq…...

Data Rescue Professional for Mac:专业的数据恢复工具

在数字化时代&#xff0c;我们的生活和工作离不开电脑和存储设备。但是&#xff0c;意外情况时常发生&#xff0c;例如误删除文件、格式化硬盘、病毒攻击等&#xff0c;这些都可能导致重要的数据丢失。面对数据丢失&#xff0c;我们迫切需要一款可靠的数据恢复工具。今天&#…...

新手小白想要做好跨境电商独立站,需要考虑哪些要素?

对于不少中小卖家而言&#xff0c;利用独立站出海已然成为下一个跨境热潮。但是采用独立站模式做出海生意前&#xff0c;卖家需要考虑哪些要素&#xff1f; 产品选择 对于国内的卖家来说&#xff0c;依托于国内强大的供应链优势&#xff0c;只要能把握住消费者心态&#xff0…...

Consul原理介绍

官方文档&#xff1a;https://www.consul.io/docs Raft动画演示&#xff1a;http://thesecretlivesofdata.com/raft/ 注册中心对比 Consul特点 服务发现、健康检查、Key/Value存储、安全服务通信&#xff08;TLS证书&#xff09;、多数据中心 架构 角色 数据中心 数据中心内…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...