自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NoSQL之Redis配置与优化

数据库按照结构可分为关系型数据库与非关系型数据库(NoSQL)。全称:Remote Dictionary Server(远程字典服务器)。类型:开源、基于内存、支持持久化的键值对(key-value)NoSQL数据库,用C语言编写。架构:单进程模型,可在一台服务器启动多个进程以提升并发能力,但需平衡CPU负载。优化项推荐配置绑定 IP(生产环境绑定服务器公网 IP 或内网 IP)守护进程模式最大内存限制(根据服务器内存大小设置,建议预留 20% 内存用于操作系统和缓存)淘汰策略RDB 自动快照。

2025-06-05 14:09:40 230

原创 Kafka消息队列

消息是在应用间传送的数据,其形式多样,既可以是简单的文本字符串,也可以是包含嵌入对象的复杂数据。消息队列是一种应用间的通信方式,具有独特的工作模式:消息发送后,发送者可立即获得返回,而消息的可靠传递由消息系统负责。消息发布者只需将消息发布到消息队列(MQ)中,无需关注谁来获取;消息使用者只需从 MQ 中获取消息,不必在意消息的发布者。这种方式使得发布者和使用者彼此解耦,无需知晓对方的存在。

2025-06-04 16:22:13 851

原创 Haproxy搭建Web群集

多协议支持:同时处理TCP(四层)和HTTP(七层)流量,适用场景广泛。健康检查机制:实时监测节点状态,自动隔离故障节点,保障服务可用性。动态配置重载:通过命令可在不中断服务的情况下更新配置。

2025-06-03 16:06:57 1068

原创 Nginx+Tomcat负载均衡集群

名称由来:由 Sun 公司詹姆斯・邓肯・戴维森开发,后贡献给 Apache 软件基金会。因希望项目以能自我照顾的动物命名,最终定名为 “Tomcat”(公猫),其 Logo 也设计为公猫形象。早期项目名为 “Catalina”,故安装后可见许多相关目录和文件。应用场景:免费开源的轻量级 Web 应用服务器,适用于中小型系统及并发用户不多的场合,是开发调试 JSP 程序的首选。

2025-06-03 15:56:06 867

原创 LVS+Keepalived高可用集群

Keepalived 最初专为 LVS 负载均衡器设计,核心目标是解决单点故障问题,实现高可用性(HA)。

2025-05-29 17:35:38 1591

原创 部署LVS-DR群集

Real Server 的 VIP 仅用于响应数据的源地址,通过回环接口(lo:0)绑定 VIP,避免与物理网卡 IP 冲突,并通过路由规则限制 VIP 仅在本地使用。:通过物理网卡的虚拟子接口(ens33:0)承载 VIP,子网掩码设置为 32 位(255.255.255.255),确保 VIP 仅在本地有效,避免路由冲突。:确保 Real Server 在响应 ARP 请求时,不暴露自身物理 MAC 地址,而是让调度器处理客户端的 ARP 解析,维持 DR 模式的正常运作。

2025-05-28 13:46:56 1615

原创 LVS负载均衡群集

群集(Cluster)是由至少两台节点服务器组成的集合体,对外表现为一个整体,仅提供一个访问入口。其核心目标是解决单台服务器在硬件性能、响应速度、服务稳定性和数据可靠性等方面的瓶颈问题,通过整合多台服务器资源,实现高可用、负载均衡及高性能运算等需求。Linux Virtual Server(LVS)是针对 Linux 内核开发的负载均衡项目,由我国章文嵩博士于 1998 年 5 月创建,官方站点为。

2025-05-27 14:17:07 632

原创 Python网络编程

网络编程是指在计算机网络环境下进行数据通信和资源共享的编程技术。随着互联网的普及,网络通信成为现代计算机应用的核心部分。Python 凭借简洁易学、丰富的库支持等特点,成为网络编程的常用工具。定义:Socket 是网络通信的基础,是实现网络编程的抽象层,用于在不同主机之间建立通信连接,实现数据的发送和接收。在 Python 中的实现:Python 通过socket模块封装了 Socket 功能,提供了丰富的接口用于实现网络通信,如创建 Socket、连接、发送 / 接收数据、关闭连接等操作。关键参数。

2025-05-26 21:38:50 1423

原创 Python操作MySQL数据库

在现代应用程序中,数据库起着至关重要的作用。MySQL 作为流行的关系型数据库管理系统,被广泛应用于各种规模的应用。在 Python 中,可通过连接库与 MySQL 数据库交互,实现数据增、删、改、查操作。连接池作为优化数据库连接管理的技术,能提高应用性能。本文将介绍如何用 Python 操作 MySQL 数据库,包括建立连接、执行 SQL 语句、事务管理、错误处理等,重点介绍连接池的使用以优化连接效率。连接池技术在高并发场景下可提升数据库连接效率。

2025-05-24 11:05:19 794

原创 Flask框架

轻量灵活:Flask 核心简洁,不强制项目结构,适合从小型应用快速扩展到复杂项目,开发者可根据需求选择扩展库(如数据库、身份验证、API 支持等)。学习门槛低:相比 Django 等全功能框架,Flask 的入门难度较低,适合初学者掌握 Web 开发核心概念(如路由、视图、模板、表单处理等)。社区生态丰富:拥有大量高质量扩展库(如 Flask-SQLAlchemy、Flask-RESTful、Flask-JWT 等),可轻松实现各种功能,满足不同场景的开发需求。

2025-05-23 12:27:24 1287

原创 Python实现Web请求与响应

Web 请求与响应是 Web 通信的基础,其中 Web 请求由客户端发起,服务器处理后返回响应。Web 请求的组成请求行:包含请求方法(如 GET、POST、PUT、DELETE 等)、URL 以及 HTTP 协议版本(如 HTTP/1.1)。例如,一个 GET 请求的请求行可能是 “GET /index.html HTTP/1.1”。请求头:包含关于客户端信息、请求体类型、浏览器类型等元数据。

2025-05-22 17:11:22 982

原创 PostgreSQL日常维护

PostgreSQL(简称 pgsql)是一款功能强大的开源关系型数据库,具备稳定性、扩展性以及对 SQL 标准的严格遵循等显著特点。这些优势使其在企业级开发与数据分析场景中得到广泛应用。本笔记将围绕 pgsql 的日常使用展开,涵盖从基础登录到核心操作的完整流程,助力读者掌握数据库连接管理、库表创建与操作、模式(Schema)设计、远程访问权限配置以及账户安全维护等关键技能。

2025-05-21 20:47:55 1407

原创 PostgreSQL初体验

PostgreSQL 是一款开源的对象关系型数据库管理系统(ORDBMS),起源于加州大学伯克利分校,继承了 Ingres 项目的技术精髓。它不仅支持传统的关系型数据模型,还引入了对象特性(如自定义数据类型、函数、操作符等),成为现代数据库领域中功能最全面的开源解决方案之一。

2025-05-20 11:41:28 1304

原创 MySQL故障排查与生产环境优化

硬件层(基础支撑)CPU:优先选择多核高频 CPU,尤其适合复杂查询(如 JOIN、分组聚合)场景,避免 CPU 成为瓶颈。内存:扩大 InnoDB 缓冲池()以缓存更多数据,建议占物理内存 60%-80%,减少磁盘 I/O。磁盘:使用 SSD 替换 HDD,搭配等参数提升 IOPS;分离数据文件与日志文件到独立磁盘,降低 I/O 竞争。配置层(资源调度)连接管理:通过限制并发连接数,配合缓存线程,避免频繁创建线程消耗资源。缓冲与日志:调整平衡事务提交速度与恢复时间;根据业务特性选择。

2025-05-19 19:08:31 1264

原创 MySQL高可用

MySQL 高可用(High Availability)是指通过冗余设计,确保数据库服务在单节点故障、网络中断或硬件损坏等异常情况下,仍能持续对外提供服务,同时保证数据一致性。其核心目标是实现 “零停机、零数据丢失” 的业务连续性。

2025-05-16 14:26:54 940

原创 MySQL主从复制及读写分离

MySQL 主从复制是一种基于日志的异步数据复制技术,它能将主数据库(Master)的 DDL(数据定义语言,如 CREATE、ALTER 等)和 DML(数据操作语言,如 INSERT、UPDATE、DELETE 等)操作,通过二进制日志(Binary Log)传输到一个或多个从数据库(Slave),并在从库上重放这些操作,从而实现主从库之间的数据同步。读写分离:主库负责写操作,从库负责读操作,减轻主库压力,提升系统整体性能。

2025-05-13 13:46:12 912

原创 MySQL全量、增量备份与恢复

Percona XtraBackup 是一个免费的 MySQL 热备份软件,支持在线热备份 Innodb 和 XtraDB,也可以支持 MySQL 表备份,不过 MyISAM 表的备份要在表锁的情况下进行。它有三个主要的工具:xtrabackup、innobackupex、xbstream。其中,xtrabackup 是一个编译了的二进制文件,只能备份 Innodb/Xtradb 数据文件;

2025-05-12 15:47:14 867

原创 MySQL索引和事务

这些数据块类似链表结构,每个数据块包含数据部分以及一个指向下一个数据块的指针,这种结构允许数据块在磁盘上非连续存储,保证了数据操作的原子性。索引通过对记录集的多个字段进行排序,构建出一个新的数据结构,该结构包含字段数值以及指向相关记录的指针,随后对这个索引结构进行排序,从而实现高效的二分查找。在数据库的庞大体系中,索引扮演着至关重要的角色,它是一种精心设计的数据结构,如同图书馆中详细分类的书籍目录,能够极大地提升数据检索的效率。从数据库性能的角度考虑,及时删除这些无用索引是非常必要的。

2025-05-10 15:45:00 785

原创 MySQL数据库操作

用于设置用户连接数据库时所使用的密码字符串,若省略该部分,用户密码将为空。例如,添加一个名为 “xiaoqi” 的数据库用户,允许其从本机访问,密码为 “123456” ,执行。通常做法是创建一个或几个网站专用的数据库,并授予所有权限,限制访问的来源 IP 地址。表由字段和记录组成,字段相当于文件中的列标题,记录则是文件中的每一行内容。用于指定用户名称和允许访问的客户机地址,来源地址可以是域名、IP 地址,还可以使用。的身份连接数据库,此时在已授权的数据库上操作将被允许,否则将被拒绝。

2025-05-09 14:03:27 640

原创 MySQL数据库初体验

MySQL 是一个真正的多线程、多用户的 SQL 数据库服务,具有高性能、高可靠和易于使用的特性,是服务器领域中最受欢迎的开源数据库系统。其发展历程历经多次收购,目前由 Oracle 公司负责运营和维护。MySQL 可与多种软件组合使用,如与 Linux、Apache、PHP/Perl/Python 组成 LAMP 组合,广泛应用于中小型网站建设。

2025-05-08 11:28:04 881

原创 Nginx性能调优与深度监控

GoAccess 安装安装中文字体支持:为了在 GoAccess 报告中正确显示中文,需要安装中文字体支持包。在 dnf 系统中执行:源码编译安装 GoAccess:下载 GoAccess 安装包(如)后,按以下步骤进行编译安装:选项启用 Unicode 支持,确保能正常显示中文;支持对 HTTPS 日志进行分析。编译安装完成后,GoAccess 就可以在系统中使用了。配置中文环境设置系统 Locale 为中文:通过修改系统的 Locale 配置来支持中文显示。

2025-05-07 11:29:41 728

原创 Nginx安全防护与HTTPS部署

在互联网技术蓬勃发展的当下,Web 服务的安全性和可靠性至关重要。Nginx 作为一款高性能的 Web 服务器和反向代理工具,凭借其轻量级架构、卓越的高并发处理能力以及灵活的模块化设计,在全球 Web 服务器市场中占据近三分之一的份额,成为众多企业和开发者的首选。然而,网络攻击手段层出不穷,如 DDoS 攻击、SQL 注入、恶意爬虫等,同时数据隐私保护法规日益严格,如 GDPR、等保 2.0 等,这使得掌握 Nginx 的安全防护策略与 HTTPS 部署能力,成为运维工程师和开发者不可或缺的技能。

2025-05-06 16:23:03 899

原创 Nginx 核心功能02

同时,正向代理还可以缓存公共资源,如软件包、镜像文件等,减少外网带宽的消耗,加快资源的访问速度。这些软件包分别为 Nginx 提供了不同的功能支持,gcc 和 make 用于编译 Nginx 源代码,pcre-devel 提供正则表达式支持,zlib-devel 用于数据压缩,openssl-devel 用于支持 HTTPS,perl-ExtUtils-MakeMaker 用于构建和安装 Perl 扩展,git 用于获取第三方模块,wget 用于下载文件,tar 用于解压文件。

2025-05-01 20:37:56 1074

原创 Nginx核心功能

Nginx 是一款轻量级的高性能 Web 服务器、反向代理服务器,同时具备电子邮件(IMAP/POP3)代理服务等功能。因其出色的性能、稳定性以及丰富的模块生态,在现代 Web 架构中应用广泛。相比传统的 Apache 服务器,Nginx 在处理高并发连接时表现更为优异,资源消耗更低,这使得它成为众多大型网站和应用的首选 Web 服务器软件。Nginx 与 Apache 类似,能够实现基于用户授权的访问控制机制。

2025-04-29 18:44:06 1330

原创 Web技术与Nginx网站环境部署

使用logrotate工具实现日志切割,先安装logrotate(一般系统默认已安装),然后在/etc/logrotate.d/目录下创建一个 Nginx 的日志切割配置文件,例如nginx:​。常见的 HTTP 请求方法有:​。Nginx 的访问日志默认位于/var/log/nginx/access.log,可以使用tail命令实时查看最新的访问记录:​。错误日志默认位于/var/log/nginx/error.log,当网站出现问题时,通过查看错误日志可以快速定位问题原因:​。

2025-04-28 17:24:37 877

原创 Python函数与模块

创建未定义先调用:报错,需确保函数定义在调用前。参数不匹配:实参数量与形参不符,报错。函数:通过参数化和封装,实现代码复用与逻辑抽象,是面向过程编程的核心。模块与包:通过分层组织,解决大型项目的代码管理问题,是模块化开发的基石。最佳实践:合理设计函数粒度,优先使用局部变量,遵循 “单一职责原则”,善用标准库模块提升开发效率。

2025-04-24 16:09:31 622

原创 Python流程控制

本文档聚焦于 Python 流程控制,深入讲解了 if 语句、循环语句(while 和 for)以及循环控制语句(break 和 continue)的使用,为 Python 编程奠定了坚实基础。if 语句:用于依据条件执行不同代码块。基本语法为,冒号后缩进的代码块在条件成立时执行,还可搭配else处理条件不成立的情况。例如判断整数正负,num = int(input("请输入一个整数:"));if num > 0: print("输入的数是正数");else: print("输入的数不是正数")。

2025-04-23 16:45:00 1247

原创 Python简介与入门

Python 易于使用且是一门完整的编程语言,相比 Shell 脚本或批处理文件,它为编写大型程序提供了更多的结构和支持。Python 提供了比 C 更多的错误检查,作为高级语言,内置支持如灵活数组和字典等高级数据结构类型。因其丰富的通用数据类型,Python 比 Awk 甚至 Perl 更适用于更多问题领域,大多数事情在 Python 中与其他语言同样简单。Python 允许将程序分割为不同模块,以便在其他 Python 程序中重用。

2025-04-22 16:10:18 687

原创 系统安全及应用

注意,为 GRUB 设置密码时,“grub.pbkdf2.sha512..” 部分可替换为明文的密码字符串(如 “123456”),但安全性稍差,不建议使用。在当前会话过程中,第一次通过 sudo 执行命令时,必须以用户自己的密码(不是 root 用户或其他用户的密码)进行验证。在某些特殊情况下,如要求批量创建的用户初次登录时必须自设密码,或统一要求所有用户更新密码,管理员可执行强制策略。未授权的用户将会得到 “may not run sudo” 的提示,已授权的用户则可以看到自己的 sudo 配置。

2025-04-21 17:36:38 718

原创 firewalld 防火墙

在 Linux 系统中,网络安全至关重要,firewalld 作为一款功能强大的防火墙管理工具,发挥着关键作用。它为系统提供了灵活且高效的网络访问控制能力,确保系统免受未经授权的网络访问和恶意攻击。

2025-04-19 19:18:26 921

原创 iptables防火墙

netfilter 是 Linux 内核实现包过滤防火墙的内部结构,它并非以程序或文件形式存在,而是属于 “内核态”(Kernel Space,即内核空间)的防火墙功能体系。而 iptables 则是用于管理 Linux 防火墙的命令程序,通常位于 /sbin/iptables 目录下,属于 “用户态”(User Space,即用户空间)的防火墙管理体系。其中,规则表就像是一个个功能各异的 “工具箱”,根据规则集的不同用途,默认划分为四个表,每个表都由独立的内核模块实现特定功能。

2025-04-17 20:38:38 696

原创 Shell编程之正则表达式与文本处理器

正则表达式(Regular Expression,简称 RE),又称正规表达式、常规表达式,在代码中常简写为 regex、regexp 或 RE。它是用单个字符串描述、匹配一系列符合特定句法规则字符串的方法,在脚本编程、文本编辑器及多种编程语言中都占据核心地位。在 Shell 编程里,可利用正则表达式进行文本的查找、删除、替换等操作,提升文本处理效率。字符描述将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。

2025-04-16 16:30:00 1177

原创 Shell编程之函数与数组

在 Shell 脚本中,函数是将重复或独立的代码块封装成可复用单元的关键工具。通过函数,可避免代码冗余,提升脚本的可读性和模块化程度。1. 函数定义语法[function] 函数名() {命令序列[return x] # 可选,返回0表示成功,非0表示错误function关键字可选,省略后直接以函数名加括号定义。大括号{}内为函数体,包含具体执行的命令。return语句用于退出函数并返回状态码(0-255),省略时默认返回最后一条命令的执行状态。2. 函数调用方式。

2025-04-15 18:19:28 801

原创 Shell编程之循环语句

for 循环:适用于处理预定义的列表,当列表对象无规律且来源固定(如从文件中读取的列表)时,使用 for 循环可以方便地对列表中的每个元素进行操作。例如批量添加用户(根据姓名列表)、检查主机状态(根据 IP 地址列表)等场景,通过遍历列表来执行重复的操作。while 循环:更适合需要控制循环次数、操作对象按数字顺序编号或按特定条件执行重复操作的情况。比如批量添加规律编号的用户,通过控制变量的值来决定循环次数和操作对象;在猜价格游戏中,根据用户输入与随机价格的比较结果来决定是否继续循环猜测。

2025-04-14 16:00:00 855

原创 Shell编程之条件语句

文件测试是 Shell 脚本中最基础的检测手段,用于判断文件或目录的类型、存在性及权限属性。字符串比较用于检测文本内容是否符合预期,需注意引号的使用(避免空值导致语法错误)和运算符的正确选择。Shell 脚本的 “智能” 源于对系统状态的精准判断,而条件测试正是实现这一能力的基础。形式,脚本能够对文件属性、数值关系、字符串内容及多重条件组合进行检测,为流程控制提供决策依据。逻辑测试通过 “与”“或”“非” 操作组合多个条件,实现复杂场景的判断。的繁琐判断,提升代码的可维护性。语法示例(等价写法)

2025-04-11 16:30:00 2259

原创 Shell编程规范与变量

Shell 的核心功能Shell 作为 Linux 系统的 “命令解释器”,介于用户与内核之间,负责接收用户输入的命令,解析后传递给内核执行,并输出结果。常见 Shell 解释器包括/bin/sh/bin/bash等,系统支持的 Shell 列表可通过查看。/bin/sh/bin/bashBash 解释器Bash(Bourne Again Shell)是大多数 Linux 发行版的默认 Shell,兼容 sh 语法并扩展了更多功能,如命令补全、历史记录、数组变量等。

2025-04-10 14:05:37 872

原创 PXE高效批量网络装机

PXE 是一种基于 TCP/IP 协议的网络启动技术,它允许计算机在没有本地存储设备(如硬盘)或者操作系统的情况下,通过网络接口从远程服务器获取启动信息和操作系统镜像。PXE 主要依赖于 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)和 HTTP/FTP/NFS 等协议来实现。

2025-04-09 19:51:06 1486

原创 DNS 域名解析服务

DNS(Domain Name System)即域名系统,是运行在 TCP/IP 协议栈上的分布式分层命名系统。其核心使命是实现域名与 IP 地址的双向映射,解决人类易记忆的域名标识与计算机可识别的 IP 地址之间的语义鸿沟。地址翻译:将用户输入的域名(如)解析为对应的 IP 地址(如 192.0.2.1)服务定位:通过 MX 记录定位邮件服务器,通过 SRV 记录定位特定服务节点负载均衡:通过轮询 A 记录实现简单流量分发网络架构抽象:屏蔽底层 IP 地址变更对上层应用的影响。

2025-04-08 12:21:13 828

原创 Linux的DHCP原理与配置

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是一种网络管理协议,用于在 IP 网络中自动分配 IP 地址及其他相关配置参数(如子网掩码、默认网关、DNS 服务器等)。它通过集中管理 IP 地址池,减少手动配置的工作量,提高网络管理效率。支持无状态地址自动配置(SLAAC)地址长度扩展为 128 位采用组播通信(FF02::1:2)取消广播机制。

2025-04-07 19:49:46 943

原创 Linux部署DNF仓库及NFS共享服务

DNF使用libdnf库,在处理大型软件包集合时表现更为出色,能够显著提升软件包安装、更新和查询的效率。执行该命令后,输出结果会显示每个有更新的软件包的名称、当前安装的版本以及可用的新版本。在执行该命令时,DNF 会自动处理软件包之间的依赖关系,并在必要时提示你确认操作。这个命令会列出所有已知的软件包组,包括已安装和可用安装的组。在更新软件包之前,查看软件包的更新日志可以了解更新内容,判断是否会对系统产生影响。执行该命令后,DNF 会列出将要更新的软件包列表,并询问你是否继续操作。

2025-04-06 20:10:35 952

空空如也

空空如也

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

TA关注的人

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