自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(184)
  • 收藏
  • 关注

原创 传统方式部署(RuoYi-Cloud)微服务

官方下载地址:https://archive.apache.org/dist/skywalking/java-agent/下载地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.8。下载地址:https://nodejs.org/download/release/v22.15.1/下载地址:https://nacos.io/docs/latest/overview/下载地址:https://download.redis.io/releases/

2025-08-18 15:23:13 765

原创 部署(RuoYi-Vue)前后端分离

2、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录,解压并移动到指定目录。1、上传ruoyi源代码包RuoYi-Vue-v3.8.9.zip到/root目录并解压(192.168.10.47)下载地址:https://nodejs.org/download/release/v22.15.1/(1)拷贝数据库文件到mysql服务器(192.168.10.47)(2)创建数据库用户ruoyi和库(192.168.10.46)

2025-08-15 12:00:00 755

原创 CI/CD流水线搭建流程

(2)上传jdk-17_linux-x64_bin.tar.gz包到/root目录,解压并移动到指定位置。中文在线文档:https://www.jenkins.io/zh/doc/book/pipeline/(2)通过系统的 Java 环境运行打包好的 Spring Boot 可执行 JAR 文件(web)(1)拷贝Spring Boot 可执行JAR 文件到WEB服务器(Jenkins)(2)在源代码中创建Jenkinsfile(流水线)文件(GitLab)(4)提交并推送到GitLab(GitLab)

2025-08-14 12:00:00 549

原创 Jenkins部署与使用

Jenkins 是一个开源的、基于 Java 开发的持续集成和持续交付(CI/CD)工具,广泛应用于自动化构建、测试和部署软件项目。使用浏览器访问192.168.10.41:8080/jenkins/job/myproject1/build?记录URL:192.168.10.41:8080/jenkins/job/myproject1/build?根据构建信息,会将代码存放到/root/.jenkins/workspace/myproject1目录。(3)推送现有的Git仓库到GitLab(GitLab)

2025-08-13 12:00:00 579

原创 GitLab部署与使用

支持 Git 版本控制,提供代码仓库管理、分支保护、合并请求(Merge Request/Pull Request)等功能。内置 GitLab CI/CD,通过 .gitlab-ci.yml 配置文件实现自动化构建、测试、部署。静态代码扫描(SAST)、动态扫描(DAST)、依赖扫描(Dependency Scanning)。提供 Issue 跟踪、看板(Kanban)、里程碑(Milestones)、甘特图等功能。支持多云和本地部署(AWS、Azure、Google Cloud 等)。

2025-08-12 12:00:00 1112

原创 Git安装与使用

可与远程仓库(如 GitHub、GitLab、Gitee)交互(git push/git pull)。官网下载地址:https://www.kernel.org/pub/software/scm/git/暂存区(Staging Area):临时保存待提交的变更(git add 后生效)。objects/:存储所有 Git 对象(提交、文件内容等,Git 的核心数据库)提交(Commit):一次代码变更的快照,包含作者、时间、描述等信息。(6)查看所有 HEAD 的移动历史(包括被删除的提交、重置操作等)

2025-08-11 11:43:52 867

原创 部署ELK8.18对日志进行收集、展示

HTTP/%{NUMBER:http_version}" %{NUMBER:status:int} %{NUMBER:bytes_sent:int} "%{DATA:referrer}" "%{DATA:user_agent}" "%{DATA:x_forwarded_for}也可以用一个"%{COMBINEDAPACHELOG}"来表示,但是每个键的名称是定义好的,生产中也不会使用。插件地址:https://release.infinilabs.com/analysis-ik/stable/

2025-08-08 12:00:00 1763

原创 Linux系统日志

也就是说,日志服务的配置文件中主要定义了服务的名称、日志等级和日志记录位置。--force 使用--setup-keys覆盖FSS密钥对。--output-fields=LIST 在verbose/export/json模式下选择要打印的字段。-o --output=STRING 改变日志输出模式 (short, short-precise,--smart-relinquish-var 类似,但如果日志目录在根挂载上,则无操作。

2025-08-07 12:00:00 713

原创 MySQL使用MHA实现高可用

rpl_semi_sync_master_tx_avg_wait_time:事务因开启 semi_sync,平均需要额外等待的时间。(1)安装chrony软件包(master1、master2、slave1、slave2、mha-manager)1、MHA Node安装(master1、master2、slave1、slave2、mha-manager)3、配置IP解析(master1、master2、slave1、slave2、mha-manager)

2025-08-06 12:00:00 1001

原创 HAProxy+Keepalived和MyCat实现MySQL数据库的高可用、负载均衡和读写分离

四、安装配置Keepalived(haproxy+keepalived1、haproxy+keepalived2)三、安装配置HAProxy(haproxy+keepalived1、haproxy+keepalived2)2、重启MySQL服务(MySQL主1、MySQL从1、MySQL从2)(1)连接haproxy的VIP(虚拟IP)查看数据(客户端)(1)连接haproxy查看数据(客户端)3、创建复制专用用户(MySQL主1)(2)连接mycat查看数据(客户端)(1)安装mysql客户端(客户端)

2025-08-05 12:00:00 802

原创 使用MyCat实现MySQL数据库的读写分离、分库和水平分表

将orders表数据分别分配到dataNode1(MySQL主1、MySQL从1)和dataNode2(MySQL主2、MySQL从2)上。2、表级 DML 权限(SELECT/INSERT/UPDATE/DELETE)设置(mycat)2、重启MySQL服务(MySQL主1、MySQL主2、MySQL从1、MySQL从2)用户对tb1表禁止INSERT、DELETE操作,允许UPDATE、SELECT操作。将users表分配到dataNode2(MySQL主2、MySQL从2)上。

2025-08-04 12:00:00 559

原创 MySQL双主复制

Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议) 的开源软件,主要用于实现 服务器高可用(HA, High Availability) 和 负载均衡(Load Balancing)。高可用(HA - High Availability)作用:防止单点故障(SPOF, Single Point of Failure),确保服务持续可用。(1)在MySQL1库上创建数据库和表并插入内容(192.168.10.42)

2025-08-01 12:00:00 862

原创 MySQL主从复制

MySQL主从复制是一种数据复制技术,允许从一个MySQL数据库服务器(主服务器)复制数据到一个或多个MySQL数据库服务器(从服务器)。从服务器的SQL线程重放中继日志中的事件,应用到从服务器。(1)在主库上插入数据(192.168.10.42)2、准备主库数据快照(192.168.10.42)(2)在从库查看数据(192.168.10.43)3、从库配置(192.168.10.43)(1)锁定主库(确保数据一致性)(3)导出数据并传输到从库。(1)修改主库配置文件。(1)修改从库配置文件。

2025-07-31 12:00:00 344

原创 MySQL优化

通配符查看当前状态的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,它就会起作用。如果MySQL的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。innodb_log_files_in_group 是控制 InnoDB 重做日志(redo log)文件数量的重要参数,与 innodb_log_file_size 共同决定日志系统的总容量。

2025-07-30 12:00:00 1220

原创 MySQL工具

混合读写测试:执行 SELECT、INSERT、UPDATE 等混合操作(--auto-generate-sql-load-type=mixed)。--auto-generate-sql-load-type=mixed:使用混合读写测试模式(读写比例均衡)--auto-generate-sql-add-autoincrement:为自动生成的表添加自增列。-x 20或--number-int-cols=20:测试表中包含20个整数列。

2025-07-29 12:00:00 585

原创 MySQL备份还原

MySQL的二进制日志(binlog)记录了所有修改数据的SQL语句,是实现增量备份和时间点恢复(PITR)的关键。五、Percona XtraBackup备份(物理备份)(192.168.10.42)3、复制users表的users.ibd文件到安全位置(192.168.10.42)四、使用二进制日志(binlog)进行增量备份(192.168.10.42)10、合并第二次增量(最后一次不添加--apply-log-only)1、锁定users表(确保数据一致性)(192.168.10.42)

2025-07-28 12:00:00 787

原创 MySQL函数和查询语句

D为正数时是小数点的右侧部分,D为0时则不要小数部分,D为负数时是小数点左边部分,具体使用看例子演示。当对负数进行四舍五入:先把符号丢到一边,对去掉负号后的正数进行四舍五入,完成以后,再把这个负号,补上即可。此函数叫截断函数,顾名思义就是就是截取不要的部分,然后删掉(断掉)它。直接调用CONNECTION_ID()函数--不需任何参数--就可以看到当下连接MySQL服务器的连接次数,不同时间段该函数返回值可能是不一样的。向下取整,返回<=该参数的最大整数,求的是小于等于这个数字的最大整数。

2025-07-25 12:00:00 1415

原创 SQL基础应用

排序规则:虽然结果中没有显示,但会使用 utf8mb4 的默认排序规则(通常是 utf8mb4_general_ci)utf8mb4 的优势:支持完整的Unicode字符集(包括emoji表情符号),完美兼容中文、日文、韩文等所有语言。排序规则:utf8mb4_general_ci(校对速度快)或utf8mb4_unicode_ci(准确度高)(8)将 wx 列的数据类型保持INT(整数类型),移动到 address 列之后。(8)创建tb6表,将id 字段作为外键,引用 tb1 表的 id 字段。

2025-07-24 12:00:00 1781

原创 Nginx反向代理与缓存配置

实验环境设置主机名一、编译安装nginx1.28(lb、web1、web2)上传nginx-1.28.0.tar.gz源码包到/root目录创建systemctl管理nginx文件启动nginx服务二、准备网页为了更好的测试,这里网站内容不一致,真是生成环境网站内容一样web1:web2:访问网页使用浏览器访问192.168.10.41使用浏览器访问192.168.10.42三、配置负载均衡和反向代理(lb)1、upstreamupstream 是 Nginx 中用

2025-07-23 12:00:00 758

原创 Nginx优化和模块

缓存,主要针对于图片,css,js 等元素更改机会比较少的情况下使用,特别是图片,占用带宽大,我们完全可以设置图片在浏览器本地缓存 365d,css,js,html 可以缓存个 10 来天,这样用户第一次打开加载慢一点,第二次,就非常快了。一般我们需要压缩的内容有:文本,js,html,css,对于图片,视频,flash 什么的不压缩,同时也要注意,我们使用 gzip 的功能是需要消耗 CPU 的。使用 gzip 压缩功能,可能为我们节约带宽,加快传输速度,有更好的体验,也为我们节约成本。

2025-07-22 12:00:00 878

原创 Linux资源监控命令

inet6 fe80::20c:29ff:fef3:9095/64: IPv6 链路本地地址(以 fe80:: 开头),子网前缀为 64 位。,属于 sysstat 工具包的一部分。inet6 fe80::20c:29ff:fef3:9095: IPv6 链路本地地址(以 fe80:: 开头)link/ether 00:0c:29:f3:90:95: 接口的 MAC 地址(硬件地址),通常由厂商分配。brd ff:ff:ff:ff:ff:ff: 广播 MAC 地址(用于发送到所有本地网络设备)

2025-07-21 12:00:00 682

原创 Linux top命令

它可以动态显示系统的 CPU、内存、进程负载等信息,是性能分析和故障排查的重要工具。可以⽤’a’和’w’在4个 窗⼝间切换。’a’移到后⼀个窗⼝,’w’移到前⼀个窗⼝。⽤’g’命令你可以输⼊⼀个数字来选择当前窗⼝。当按下’d’或’s’时,你将被提⽰输⼊⼀个值(以秒为单位),它会以设置的值作为刷新间隔。显⽰特定⽤⼾的进程。进程累计使用的 CPU 时间(格式:分:秒.百分秒)top命令的顶部显⽰与uptime命令相似的输出。-S:累计模式(显示进程的 CPU 时间累计值)⽤’*’标记的是已选择的。

2025-07-18 12:00:00 797

原创 Linux Shell脚本

使用 Shell 函数时,只需在脚本中调用函数名,并传递相应的参数(如果需要的话),函数就会执行其内部的命令序列,并返回结果(如果有返回值的话)。具体来说,Shell 函数使用 $n 的形式来接收参数,其中 $1 表示第一个参数,$2 表示第二个参数,以此类推。Shell 函数在定义时不能指定参数,但在调用时可以传递参数。$n:n为数字,$0代表该脚本名称,$1-9 代表第一个至第九个参数,十以上的参数需要用大括号括起来,如{10}。输入一个数字,如果输入的是1、2、3,则输出具体的数字,否则什么也输出。

2025-07-17 12:00:00 1128

原创 Linux三剑客grep、sed、awk

否则,仅打印用户名(第1列,$1)从 /etc/passwd 文件中筛选出 GID(组ID,第4列)大于10的行,计算 GID / 3 并取整,然后打印结果。从 /etc/passwd 文件中筛选出 GID(组ID,第4列)大于10的行,并计算并打印 GID - 10 的结果。从 /etc/passwd 文件中筛选出 GID(组ID,第4列)大于10的行,并计算并打印 GID / 3 的结果。将 /etc/passwd 文件中每一行的用户名(第1列)转换为小写,并附加当前的时间戳(Unix 时间戳,秒级)

2025-07-16 12:00:00 657

原创 Zabbix+Grafana

一、安装zabbix-agent(192.168.10.42)安装好zabbix-server。

2025-07-15 12:00:00 64

原创 zabbix监控主机、监控MySQL、自动发现、自动注册、自定义监控Nginx

1、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录。2、将MySQL模板文件根据zabbix配置文件放到指定位置(192.168.10.43)3、修改zabbix-agent配置文件(192.168.10.43)3、修改zabbix-agent配置文件(192.168.10.43)(2)根据zabbix帮助模板进行测试(192.168.10.41)(1)配置zabbix环境变量(192.168.10.41)

2025-07-14 12:00:00 627

原创 使用Ansible Playbook角色(Roles)和Include语句源码编译安装Nginx1.28

使用 include 语句引用 tasks 是将 tasks 从其他文件拉取过来。当我们刚开始学习运用 playbook 时,可能会把 playbook 写成一个很大的文件,到后来可能你会希望这些文件是可以方便去重用的,所以需要重新去组织这些文件。开启一台源码编译安装nginx的主机,拷贝配置文件到/myplaybook/roles/nginx/templates/nginx.j2并改名。创建service文件在/myplaybook/roles/nginx/files/nginx.service目录。

2025-07-11 12:00:00 523

原创 使用ansible的playbook编译安装zabbix7.2

3、上传MySQL二进制包mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz到/myplaybook目录。2、上传zabbix源码包zabbix-7.2.7.tar.gz到/myplaybook目录。2、上传PHP源码包php-8.1.32.tar.gz到/myplaybook目录。四、编译安装zabbix7.2(192.168.10.40)八、配置Zabbix(192.168.10.40)1、创建systemctl管理zabbix文件。

2025-07-10 12:00:00 425

原创 编译安装zabbix7.2

3、上传MySQL二进制包mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz到/myplaybook目录。2、上传PHP源码包php-8.1.32.tar.gz到/myplaybook目录。1、上传源码包zabbix-7.2.7.tar.gz到/root目录。四、编译安装zabbix7.2(192.168.10.41)八、配置Zabbix(192.168.10.41)7、创建systemctl管理zabbix文件。1、创建systemctl管理PHP文件。

2025-07-09 12:00:00 966

原创 Ansible 各种变量定义方式和变量引用

作用:用于收集目标主机的系统信息(称为 facts),例如操作系统、IP 地址、内存、CPU 等。4、debug 模块用于调试任务,输出变量、消息或任务执行结果。11、案例:动态修改远程主机上Nginx配置文件中的工作进程数,根据主机的CPU核心数量。ansible_distribution_version 目标主机的操作系统发行版版本。# inventory_hostname_short 是主机名的短名称,去掉域名部分。ansible_memtotal_mb 目标主机的总内存大小(以MB为单位)

2025-07-08 12:00:00 1011

原创 使用Ansible的playbook编译安装PHP8.1

1、上传PHP源码包php-8.1.32.tar.gz到/myplaybook目录。一、创建playbook(192.168.10.40)二、验证(192.168.10.42)2、创建playbook文件。3、运行playbook。

2025-07-07 12:00:00 554

原创 使用Ansible的playbook二进制安装mysql8.0

实验环境一、创建playbook(192.168.10.40)1、上传MySQL二进制包mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz到/myplaybook目录2、编写MySQL配置文件cd /myplaybook/vim my.cnf添加:[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/datapid-file=/usr/local/mysql/data/mysqld.pidlog-e

2025-07-04 12:00:00 500

原创 使用Ansible的playbook编译安装Nginx1.28

下载方法:wget https://nginx.org/download/nginx-1.28.0.tar.gz。2、下载或上传nginx-1.28.0.tar.gz包到/usr/local/src目录并解压。二、编写源码编译安装nginx服务的playbook(192.168.10.40)3、下载或上传nginx-1.28.0.tar.gz包到/myplaybook目录。2、从192.168.10.41上拉取service文件。1、从192.168.10.41上拉取配置文件。8、启动nginx服务。

2025-07-03 12:00:00 755

原创 使用ansible源码编译安装Nginx1.28和二进制安装MySQL8.0

上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录。上传nginx-1.28.0.tar.gz源码包到/root目录。创建nginx的systemctl管理文件。一、编译安装Nginx1.28。二、二进制安装MySQL8.0。创建MySQL配置文件。

2025-07-02 12:45:00 635

原创 使用Ansible的playbook安装HTTP

列出 Ansible 剧本(playbook)install-httpd.yml 中将会影响的主机(hosts)清单。列出 Ansible playbook(install-httpd.yml)中定义的所有任务(tasks)二、编写安装HTTP服务的playbook(192.168.10.40)3、压缩192.168.10.41的网页文件并拉取到ansible。一、准备测试服务(192.168.10.41)10、重启HTTP访问并访问。5、再次使用浏览器访问。6、使用浏览器访问验证。1、安装HTTP服务。

2025-07-01 12:45:00 1151

原创 Ansible常用模块使用

将目标主机(web 组)上的 /tmp 目录打包成 tar.bz2 格式的压缩文件,并保存到 /root/tmp.tar.bz2。将目标主机(web 组)上的 /tmp 目录打包成 .tar.xz 格式的压缩文件,并保存到 /root/tmp.tar.gz。对主机(ansible)上的 /tmp/tmp.tar.gz 归档文件进行解压,并将内容提取到 /tmp/backup 目录。对 web 主机组(或主机)上的 /tmp 目录进行打包,并将生成的归档文件保存到 /root/tmp.tar.gz。

2025-06-30 13:54:51 661

原创 Ansible安装及使用

(1)通过密码使用 Ansible 对 192.168.10.41 执行 ping 模块测试连通性(192.168.10.40)(2)通过密钥使用 Ansible 对 192.168.10.41 执行 ping 模块测试连通性(192.168.10.40)(4)编写Ansible Playbook 文件用于在远程主机上配置 SSH 免密登录(公钥认证)(192.168.10.40)(5)使用ansible默认主机清单文件执行命令(192.168.10.40)(2)生成密钥(192.168.10.40)

2025-06-27 12:00:00 585

原创 使用cobbler自动安装Ubuntu24.04.1

1、修改/var/1ib/cobbler/distro_signatures,json以支持Ubuntu24.04(在编写时未包含在Cobbler中),方法是在Ubuntu23 lunar签名定义之后立即粘贴以下代码块。2、使用Ubuntu22.04.5创建的原始 cloud-init user-data自动安装模板,通过 PXE导入并自动部署 Ubuntu 24.04LTS服务器。一直等待到出现登录界面,输入用户名ubuntu,密码123456。新建虚拟机:4核心、

2025-06-26 12:00:00 1489

原创 使用cobbler自动安装Ubuntu22.04.5

Cobblerv3.3.7不附带 cloud-init 自动安装文件的示例模板,因此在开始之前需要创建这些模板,以及一些 Cobbler 同步触发器,以修正引导加载程序配置,使其与cloud-init 兼容。3、使用上面创建的原始 cloud-init user-data自动安装模板,通过 PXE导入并自动部署 Ubuntu 22.04LTS服务器。创建新的cobbler模板和片段,通过复制以下3个文本块并将其重命名为每个文本块上注明的名称和路径,生成cloud-init自动安装配置文件。

2025-06-25 12:00:00 663

原创 自动部署三台Rockylinux9服务器,最小化安装,安装基础包,并设定国内源,设静态IP

1、编写自动部署三台Rocky9.5服务器,最小化安装,安装基础包,并设定国内源的应答文件。Vmware:虚拟机设置 → 网络适配器 → 高级→ 生成→ 复制MAC 地址。所以虚拟机一直等待到出现登录界面,输入用户名root,密码123456。虚拟机1的网卡MAC地址:00:50:56:3E:24:7B。虚拟机2的网卡MAC地址:00:50:56:3E:11:15。虚拟机3的网卡MAC地址:00:50:56:2F:39:28。2、获取待安装主机的网卡MAC地址。4、定义一个新的安装配置模板。

2025-06-24 12:00:00 676

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除