博文

目前显示的是 三月, 2024的博文

部署RabbitMQ集群记录

图片
前言 :RabbitMQ是一款流行的开源消息代理和队列服务器,用于在分布式系统中异步地传递消息。这意味着系统或应用程序的不同部分可以通过发送消息到队列进行通信,而不是直接调用彼此的接口。由于系统组件可以独立地处理传入的消息,这种方式可以显著提高应用程序的可扩展性和健壮性。 一,实验背景 三台CentOS 7 部署rabbitmq集群(普通模式+镜像模式);以下是服务器IP信息 rabbitmq1:192.168.229.133 rabbitmq2:192.168.229.149 rabbitmq3:192.168.229.150 在/etc/hosts里面做好本地解析 二,安装步骤 2.1,单节点部署 yum update yum install erlang -y #安装二郎 #最新版已经不支持了,为了方便直接安装epel包里面的3.3.5 yum list |grep rabbitmq-server rabbitmq-server.noarch 3.3.5-34.el7 epel yum install rabbitmq-server.noarch -y #编辑配置文件 vim /etc/rabbitmq/rabbitmq.config 安装插件并启动服务 rabbitmq-plugins enable rabbitmq_management systemctl start rabbitmq-server.service systemctl status rabbitmq-server.service 查看节点状态,目前只有一个节点 [root@rabbitmq1 ~]# rabbitmqctl cluster_status Cluster status of node rabbit@rabbitmq1 ... [{nodes,[{disc,[rabbit@rabbitmq1]}]}, {running_nodes,[rabbit@rabbitmq1]}, {cluster_name,<<"rabbit@rabbitmq1">>}, {partitions,[]}] ...d...

HAProxy + Keepalived 动静分离实验记录

图片
前言 :在此前的讨论中,我们关注的是 LVS 的功能,这是一种专注于第四层(TCP/UDP协议)的负载均衡解决方案。而HAProxy则更为多才多艺,不仅能在第四层提供负载均衡,还能扩展至第七层,即应用层。HAProxy的这种灵活性允许它执行更加精细化的负载均衡策略,比如基于应用程序的负载均衡、基于URL的请求分发,以及对动态和静态内容的智能分离。 本次实验将专注于实现动静分离策略,并将其与之前介绍的 keepalived 结合起来,构建一个高度可用的动静分离负载均衡架构。这样,我们既保证了系统的高可用性,又通过HAProxy提升了请求处理的效率和速度。 一,实验背景 使用了6台虚拟机分别作为:HA1/2 、HTTP1/2 、PHP1/2 (为了简化数据库都没装,IP是自动分配的),最后客户端使用物理机。 Client:物理机(VMnet8)192.168.229.1 HA1:192.168.229.133 HA2:192.168.229.148 HTTP1:192.168.229.144 HTTP2:192.168.229.145 PHP1:192.168.229.146 PHP2:192.168.229.147 PS:注意要关闭防火墙和SELinux 二,实验步骤 2.1,安装与配置 Keepalived 在HA1-2之间配置keepalived来保证场景的高可用 #安装keepalived yum install keepalived.x86_64 -y #编辑配置keepalived文件 vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id HA1 #两边不一样。 } vrrp_instance VI_1 { state MASTER #另外一台机器是BACKUP interface ens33 #心跳...

LVS-DR + Keepalived 搭建负载均衡

图片
接上一篇: LVS-DR实验记录 前言 :LVS前面说了,这里只简单说一下Keepalived吧 简介 :Keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。主要用于提高基于TCP/IP(如HTTP、HTTPS等)服务的可用性。它通常与LVS(Linux Virtual Server)一起使用,但也可以独立用于其他类型的TCP/UDP服务。 Keepalived主要功能: 高可用性 :通过虚拟路由冗余协议(VRRP)实现高可用性。VRRP是一种遵循标准的协议,用于实现网络路径的故障转移。 负载均衡 :与LVS集成,提供基于IP包的负载均衡。 健康检查 :对应用程序或服务进行健康检查,以监测服务状态,并根据结果进行故障转移。 一,实验背景 1.1,使用了4台VMware虚拟机分别作为:LVS-DR1/2、RS1/2;而Client端我尝试用物理机。具体IP划分如下: Client:物理机(VMnet8) 192.168.229.1 VIP( lo:0 ): 192.168.229.200 LVS1(ens33): 192.168.229.133 LVS2(ens33): 192.168.229.135 RS1-WEB1: 192.168.229.142 RS2-WEB2: 192.168.229.143 PS:注意要关闭防火墙和SELinux 1.2,在2台LVS-DR上启用路由转发、4台虚拟机上都添加VIP [root@lvs-dr ~]#sysctl net.ipv4.ip_forward #查看是否开启路由转发 [root@lvs-dr ~]#net.ipv4.ip_forward = 0 #“0”代表没有开启 [root@lvs-dr ~]#vim /etc/sysctl.conf #开启转发功能 [root@lvs-dr ~]#net.ipv4.ip_forward = 1 #添加进去 [root@lvs-dr ~]#sysctl -p #使生效,"1"代表开启成功 ifconfig ...

LVS-DR实验记录

图片
接上一篇: LVS-NAT实验记录 LVS-DR工作原理: ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。 ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的源MAC地址改为自己DIP的MAC地址,目标MAC改为了RIP的MAC地址,并将此包发送给RS。 ③.RS发现请求报文中的目的MAC是自己,就会将次报文接收下来,处理完请求报文后,将响应报文通过lo接口送给eth0网卡直接发送给客户端。 一,实验背景 1.1,使用了3台VMware虚拟机分别作为:LVS-DR、RS1、RS2;而Client端我尝试用物理机。具体IP划分如下: Client:物理机(VMnet8) 192.168.229.1 VIP( lo:0 ): 192.168.229.200 LVS(ens33): 192.168.229.133 RS1-WEB1: 192.168.229.142 RS2-WEB2: 192.168.229.143 PS:注意要关闭防火墙和SELinux 1.2,在LVS-DR上启用路由转发、3台虚拟机上都添加VIP [root@lvs-dr ~]#sysctl net.ipv4.ip_forward #查看是否开启路由转发 [root@lvs-dr ~]#net.ipv4.ip_forward = 0 #“0”代表没有开启 [root@lvs-dr ~]#vim /etc/sysctl.conf #开启转发功能 [root@lvs-dr ~]#net.ipv4.ip_forward = 1 #添加进去 [root@lvs-dr ~]#sysctl -p #使生效,"1"代表开启成功 ifconfig lo:0 192.168.229.200/32 #添加VIP到环回口lo:0(在lvs-dr,web1/2上都要配置相同VIP) 二,配置LVS-DR 2.1,安装并启用LVS ...

LVS-NAT实验记录

图片
LVS简介:全称Linux Virtual Server,是一种负载均衡技术。它可以将网络服务的负载分散到多个服务器上,这些服务器构成一个服务器集群,对外表现为一个虚拟服务。本身并不提供服务,只是把特定的请求转发给对应的real server(真正提供服务的主机),从而实现集群环境中的负载均衡。 LVS-NAT工作原理: ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。 ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标IP地址改为了后端服务器的RIP地址并将报文根据算法发送出去。 ③.报文送到Real Server后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS。 ④.然后lvs将此报文的源地址修改为本机并发送给客户端。 一,实验背景 Client: 192.168.9.131 LVS-外网: 192.168.9.129 VIP: 192.168.9.129 LVS-内网: 192.168.79.128 WEB1: 192.168.79.129 WEB2: 192.168.79.130 PS:注意要关闭防火墙和SELinux 二,内网WEB1/2服务器配置网站和路由 2.1,配置web服务 #安装httpd服务 [root@web1 ~]yum install -y httpd #启用http [root@web1 ~]systemctl start httpd #设置自启 [root@web1 ~]systemctl enable httpd #设置主页面(以web1为例) [root@web1 ~]echo "This is Web1" >/var/www/html/index.html 2.2,配置路由(指向出口-LVS服务器) #配置静态路由( WEB1/2都要配置 ) route add -net 192.168.9.0/24 gw 192.168.79.128 三,配置LVS路由功能和负载策略 3.1,启用路由转...

Jenkins构建CI_CD

图片
前言: jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。 jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven、Ant、Gradle。 一,安装jenkins 1,环境搭建(依赖包、git、Java、Maven、Tomcat) Java下载地址: https://adoptium.net/zh-CN/temurin/releases/ Maven下载地址: https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz Tomcat下载地址: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.86/bin/apache-tomcat-9.0.86.tar.gz #安装依赖 apt update apt install libcurl4-openssl-dev libexpat1-dev gettext libssl-dev zlib1g-dev gcc libperl-dev git -y 安装Java环境,这里安装的Java11 tar xvzf OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz -C /usr/local/ cd /usr/local/ mv jdk-11.0.22+7 jdk #添加Java环境变量 vim /etc/profile.d/java.sh JAVA_HOME=/usr/local/jdk export PATH=$PATH:$JAVA_HOME/bin source /etc/profile.d/java.sh #验证 java -version openjdk version "11.0.22" 2024-01-...