自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FastDFS分布式存储

比如一个 group内有 A、B、C三个 storage server,A向C同步到进度为T1(T1以前写的文件都已经同步到B上了),B向C同步到时间戳为T2(T2>T1),tracker 接收到这些同步进度信息时,就会进行整理,将最小的那个做为C的同步时间戳,本例中T1即为C的同步时间戳为T1(即所有 T1以前写的数据都已经同步到C上了):同理,根据上述规则,tracker 会为A、B生成一个同步时间戳。功能包括:文件存储,文件同步,文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

2025-06-30 16:54:43 725

原创 MongoDB数据库应用

MapReduce 批量处理 :MongoDB 的 MapReduce 功能专为大规模数据处理和聚合操作设计,通过 Map 函数的 emit (key,value) 调用和 Reduce 函数的逻辑处理,实现高效的数据汇总。在 MongoDB 中,数据库的创建是一个简单的过程,当你首次向 MongoDB 中插入数据时如果数据库不存在,MongoDB 会自动创建它。MongoDB Shell 是 MongoDB 提供的官方交互式界面,允许用户与 MongoDB 数据库进行交互、执行命令和操作数据库。

2025-06-26 17:59:27 874

原创 NoSQL 之 Redis 集群

redis 集群使用投票容错机制,如果集群中超过半数以上的节点投票认为某节点挂了,那么这个节点就会被认为挂掉了,所以,在设置 redis 集群时,最少的 master 节点为3个,如果每一个master 节点都添加一个 slave节点的话,搭建一个redis 集群总共需要6个节点,即3个master 节点,3 个slave 节点。自动迁移: Redis Cluster 具有自动迁移功能,当节点加入或离开集群时,系统会自动重新分配数据,保持各个节点上哈希槽的均衡。集群中的节点会相互监控,检测节点的健康状态。

2025-06-25 17:21:36 800

原创 NoSQL 之 Redis 配置与优化

一、Redis 介绍1. 关系数据库与非关系型数据库 数据库按照数据库的结构可以分为关系型数据库与其他数据库,而这些其他数据库我们将其统称为非关系型数据库。 1.1 关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向于记录。它借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示。SQL 语句 (标准数据查询语言)

2025-06-23 17:35:26 999

原创 Nginx+Tomcat负载均衡群集_扫描版

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试_JSP程序的首选。Nginx 是一个非常强大的静态 web 服务,Tomcat 处理动态请求效率不高,而一般网站大 多数的内容都是静态文件(如图片、html、css、is等),经过 Nginx 前端的反向代理加速 和过滤,后端Tomcat 处理请求的压力便可大大减少,只需负责处理动态内容就可以了。配置完整的 nginx.conf 文件内容如下。

2025-06-21 09:50:13 975

原创 使用Haproxy搭建Web群集

例如,使用基于源 IP 的群集调度算法,有三个节点 A、B、C,第一个用户第一次访问被指派到了 A,第二个用户第一次访问被指派到了 B,当第一个用户第二次访问时会被继续指派到 A,第二个用户第二次访问时依旧会被指派到 B,只要负载均衡调度器不重启,第一个用户访问都会被指派到 A,第二个用户访问都会被指派到 B,实现群集的调度。Haproxy 的日志默认输出到系统的 syslog 中,查看起来不是非常方便,为了更好地管理 Haproxy 的日志,在生产环境中一般单独定义出来,定义的方法如下所述。

2025-06-20 09:48:37 505

原创 LVS +Keepalived高可用群集

2重新启用主服务器的Keepalived 服务,再次访问上述 Web 服务,将看到重新由主服务器 192.168.10.101 提供的网页文档,说明主服务器已重新夺取 VIP 地址。本节将以 DR 模式的 LVS 群集为基础,增加一台从负载调度器,使用Keepalived 来实现主、从调度器的热备,从而构建兼有负载均衡、高可用两种能力的 LVS 网站群集平台。基于 VRRP 的热备方式,Keepalived 可以用作服务器的故障切换,每个热备组可以有 多台服务器-当然,最常用的就是双机热备了。

2025-06-18 18:31:54 1132

原创 Python 操作 MySQL 数据库

MySQL支持四种事务隔离级别,它们定义了在并发事务执行时一个事务的操作对于其他事务的影响。描述:事务只能读取其他事务已经提交的数据,避免了脏读,但仍然可能遇到“不可重复读”(Non-repeatable Read)的问题。这避免了“不可重复读”的问题,但依然可能会出现“幻读”(Phantom Read),即一个事务读取的数据集在事务执行过程中发生了变化。然而,这种隔离级别的性能开销最大,可能导致大量的锁竞争。应用场景:对于需要保证事务数据一致性的场景,例如金融系统中的余额操作等,可以考虑使用该隔离级别。

2025-06-16 09:49:25 809

原创 初识 Flask 框架

Flask(_ name ):创建 Flask应用实例,_name_参数用于 Flask 了解当前模块的名称,通常我们使用这个参数来帮助 Flask 在不同模块间进行配置。app.run(debug=True):启动Flask开发服务器,debug=True 表示启用调试模式,这样可以在开发过程中自动重载应用,并在发生错误时显示详细信息。在上文中,我们已经介绍了 Flask的核心概念和基本操作。Flask 的应用结构非常简单,只需创建一个 Python 文件,并通过 Flask()类来实例化应用对象。

2025-06-13 16:49:52 820

原创 Python 实现 web 请求与响应

Python的 requests 库是发送 HTTP 请求和处理响应的最常用工具,它提供了简单、直观的 API,使得 Web 请求和响应的操作变得非常容易。(2)使用 writelines()方法写入多行数据writelines()方法接受一个可选代对象(如列表、元组等),将其元素写入文件中,每个元素将作为一行写入文件。readlines()方法会一次性读取文件中的所有行,并将每行数据存储为一个列表的元素,适用于需要读取整个文件并进行行处理的情况。打开文件时,我们需要指定文件模式(即操作文件的方式)。

2025-06-13 09:39:08 979

原创 PostgreSQL初体验

在逻辑层面上,PostgresQL 包含了数据库集群、表空间、数据库、Schema、表、索引等结构:在物理层面上,则包括数据文件、日志文件、参数文件、控制文件等物理存储方式。>数据类型丰富:PostgreSqL 提供了丰富的数据类型,包括基本类型(如整数、浮点数、字符串等)、日期和时间类型、数组、枚举、范围类型、JSON、地理空间类型等,这些类型极大地扩展了 PostgreSQL 的应用范围,使其能够处理各种复杂的数据场景。企业应用:如ERP、CRM、HRM等系统,需要处理复杂的事务和查询操作。

2025-06-10 17:41:05 970

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

在启动 Mycat2 之前,需要对原型库的数据源做相应的修改,修改的项主要是主数据库的连接信息,一个完整的修改过的原型数据源文件“/usr/local/mycat/conf/datasources/prototypeDs.datasource.json”的内容如下:被修改过的内容,以红色字显示。在 Mycat2 的安装目录“/usr/local/mycat”下,存在目录“1o,打开此目录中的日志文件“wrapper.log”,可了解Mycat2 服务的运行状gS况。未来,它还会支持更多类型的存储。

2025-06-06 17:37:33 957

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

二进制日志在启动 MySQL 服务器后开始记录,并在文件达到二进制日志所设置的最大值或者接收到flushlogs 命令后重新创建新的日志文件,生成二进制文件序列,并及时把这些日志保存到安全的存储位置,即可完成一个时间段的增量备份。”生成新的二进制日志。以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。完全备份:每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。

2025-06-03 09:49:34 862

原创 MySQL索引和事务

如果指定使用列前的 length个字符来创建索引,就是使用列的一部分来创建索引,这样有利于减小索引文件的大小,节省索引列所占的空间。索引列的长度有一个最大上限255个字节(MyISAM和 InnoDB 表的最大上限为1000个字节),如果索引列的长度超过了这个上限,就只能用列的前缀进行索引。索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。索引是快速搜索的关键。唯一索引与普通索引类似,不同的就是:唯一索引的索引列的值必须唯一,但允许有空值(注意和主键不同)。

2025-05-29 17:21:37 691

原创 MySQL 数据库初体验

由于计算机应用的发展,计算机已从传统的科学计算、事务处理等领域,逐步扩展到工程设计、人工智能、多媒体、分布式等领域,这些新的领域需要有新的数据库支撑,而传统关系数据库系统是以商业应用、事务处理为背景而发展起来的,并不完全适用于新领域的应用,因此,需要新的数据库系统,以满足不同领域的要求。自20世纪80年代开始,各种适应不同领域的新型数据库系统不断涌现,如工程数据库、多媒体数据库、图形数据库、智能数据库、分布式数据库及面向对象数据库等,特别是面向对象数据库系统,由于其实用性强、适应面广而受到人们的青睐。

2025-05-27 17:54:21 1044

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

实时监控统计每个虚拟主机(server 块)的请求量(QPS)、带宽使用、响应时间、连接数 等关键指标。支持按状态码(如 2xx、4xx、5xx)分类统计请求。数据可视化提供内置监控页面(默认路径 /status),通过图表和表格展示实时及历史数据。支持 JSON 格式输出,方便集成到 Prometheus、Grafana 等监控平台。扩展性通过 Lua 脚本扩展自定义监控逻辑(如记录特定 API 的响应时间)。可配置 数据存储策略(如保留最近 1 小时的数据)。报警集成。

2025-05-27 09:57:02 1669

原创 Nginx安全防护

1.编译安装Nginx(1)安装支持软件Nginx 的配置及运行需要pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保ginx的安装顺利完成。(2)创建运行用户、组和日志目录(3)编译安装Nginx为主程序创建链接文件nginx(4)添加Nginx系统服务2.隐藏版本号在环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击。

2025-05-25 20:12:04 1264

原创 Nginx核心功能

使用upstream定义后端应用服务器的地址池“backend”,在location块中,使用R9Xx_R&8&,转发请求至后端地址池,prxx set header Host $host:将请求中的Host头部设置为客户端请求的主机名,proxy set header X-Real-IP $remote_addr:将请求中的X-Real-IP 头部设置为客户端的真实 IP 地址。具体项根据实际需要来定,配置前可参考“./configure --help”给出的说明。

2025-05-22 18:55:06 645

原创 Nginx网站功能

Nginx与Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与Apache基本一致。

2025-05-21 11:02:55 1385

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

动态网页URL的后不是.htm、.html、.shtml等静态网页的常见网页制作格式,而是、.xm1以.aspx、.asp、.jsp、.php、.perl、.cgi 等形式为后缀,并且在动态网页网址中有一个 标志性的符号-“?域名的最右侧是国家/地区域名,国家代码 由两个字母组成的如.cn,.uk,.de 和.jp,其中.cn 是中国专用的顶级域名。在网站设计中,纯粹 HTML格式的网页通常被称为“静态网页”,静态网页是标准的 HTML 文件,它的文件扩展名是.htm、.html。

2025-05-20 09:43:14 736

原创 Linux系统安全

这样带来了安全风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。对于服务器主机,其物理环境的安全防护是非常重要的,不仅要保持机箱完好、机柜锁闭,还要严格控制机房的人员进出、硬件设备的现场接触等过程。PAM(Pluggable Authentication Modules),是 Linux 系统可插拔认证模块,是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux 服务器普遍使用的认证方式。

2025-05-19 10:01:40 658

原创 firewalld 防火墙

系统提供了图形化的配置工具 firewall-config、system-config-firewal,提供命令行客户端firewal1-cmd,用于配置 firewalld 永久性或非永久性运行时间的改变:它依次用 iptables 工具与执行数据包筛选的内核中的 Netfilter 通信。也就是说 firewalld 和 iptables 一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的 netfilter,只不过 firewalld 和 iptables 的结构以及使用方法不一样罢了。

2025-05-16 21:11:18 831

原创 iptables 防火墙

编写 iptables 规则时使用“--sport 源端口”或“--dport 目标端口”的形式,针对的协议为TCP 或 UDP,用来检査数据包的源端口(--source-port)或目标端口(--destination-port)。编写 iptables 规则时使用“-m iprange --src-range Ip 范围”“-m iprange --dst-rangeIP 范围”的形式,用来检査数据包的源地址、目标地址,其中 IP范围采用“起始地址-结束地址”的形式表示。

2025-05-15 19:05:31 735

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

wood”字符串“w..d”匹配规则。其实通过执行结果就可以看出,符合匹配标准的字符加粗显示,而上述结果中可以得知,“#woood #”中加粗显示的是“ooo”,而“oo”前面的“o”是符合匹配规则的。此时执行以下命令即可同时査找到“shirt”与“short”这两个字符串,其中“[]”中无论有几个字符,都仅代表一个字符,也就是说“[io]”表示匹配“i”或者“o“在上面的示例中,查询“the”字符串时出现了很多包含“the”的行,如果想要査询以“the”字符串为行首的行,则可以通过“^”元字符来实现。

2025-05-10 17:58:12 772

原创 Shell 编程之函数与数组

数组切片是一种操作,用于从数组中提取出一部分连续的元素,形成一个新的数组。在使用函数参数时,函数名称在前参数在后,函数名和参数之间用空格分隔,可以有多个参数,参数使用$1、$2、$3..的方式表示。在 Linux 系统上编写 Shell 脚本的时候,经常需要递归遍历系统的目录,列出目录下的文件和目录,逐层递归列出,并对这些层级关系进行展示。在 Shel1 编程里,数组遍历指的是按顺序访问数组中的每一个元素,并对这些元素执行特定操作的过程这在处理一组相关数据时非常有用,比如批量处理文件、统计数据等。

2025-05-09 18:43:14 772

原创 Shell 编程之循环语句

针对此案例要求,可先指定 P 地址列表文件 ipadds.txt,然后编写一个名为 chkhosts.sh 的Shel1 脚本,从 ipadds.txt 文件中读取各服务器的 IP 地址,重复执行 ping 连通性测试,并根据测试结果输出相应的提示信息。一些技术培训和学习领域,出于实验或测试的目的,需要批量添加用户账号,这些用户的名称中包含固定的前缀字串,并按照数字顺序依次进行编号,账号的数量往往也是固定的。位于 do.done 之间的命令序列称为循环体,其中的执行语句需要引用变量以完成相应的任务。

2025-05-08 17:24:43 634

原创 Shell 编程之条件语句

双分支 if 语句的执行流程:首先判断条件测试操作的结果,如果条件成立,则执行 then 后面的命令序列 1,忽略 else 及后面的命令序列 2,直到遇见 fi 结束判断;单分支 if 语句的执行流程:首先判断条件测试操作的结果,如果返回值为 8,表示条件成立,执行then 后面的命令序列,一直到遇见 fi 结束判断为止,继续执行其他脚本代码;&&:逻辑与,表示“而且”,只有当前后两个条件都成立时,整个测试命令的返回值才为 8,使用 test 命令测试时,“&&”可改为“-a”。

2025-05-07 20:23:13 1191

原创 Shell编辑规范与变量

可以使用 Bash 的内置命令 read 来给变量赋值,read 命令用来提示用户输入信息,从而实现简单的交互过程,执行时将从标准输入设备读入一行内容,并以空格为分隔符,将读入的各字段依次赋值给指定的变量。Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。she11 脚本程序应该遵循标准的脚本结构,而且能够输出友好的提示信息,更加容易读懂。

2025-05-06 17:58:48 514

原创 引导过程与服务控制

由于 MBR 扇区被破坏以后,就无法再从该硬盘启动系统,所以需要使用其他硬盘中的操作系统进行引导,或者直接使用 0penEuler 系统的安装光盘进行引导。本节介绍一些系统启动类故障修复。反过来说,init进程是这些进程的父进程,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务。系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux 操作系统的引导过程将完成一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备。

2025-04-26 14:49:38 623

原创 磁盘管理与 LVM

创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LV 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(Physical Extent,PE),从而构成物理卷,物理卷一般直接使用设备文件名称,如/dev/sdb1、/dev/sdb2、/dev/sdd 等。例如,即便第1个 IDE 硬盘中只划分了一个主分区、一个扩展分区,则新建的第 1 个逻辑分区的序号仍然是从 5 开始的,应表示为“hda5”,第 2 个逻辑分区表示为“ hda6。命令用于扫描系统中所有的物理卷,并输出相关信息。

2025-04-25 08:59:48 646 1

原创 账号和权限管理

在早期的 WNIX 操作系统中,用户账号的密码信息也是保存在 passwd 文件中的,不法用户可以获取密码字串进行暴力破解,这样一来账号安全就存在一定的隐患。Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID,对于操作系统核心来说,UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯-的。在 Linux 操作系统中,根据系统管理的需要将用户账号分为不同的类型,主要包括超级用户、普通用户和程序用户,各类型拥有的权限、担任的角色也各不相同。

2025-04-23 17:02:27 489

原创 安装及管理程序

对于用户来说,可以利用官方提供的公钥文件,自动对下载的软件包进行验证,若在安装软件时出现验证失败的提示,则表示该软件包可能已经被非法改。rpm 命令的查询功能主要通过“-q”选项实现,主要针对当前系统中已经安装的软件包。使用 rpm 命令的查询功能可以查看某个软件包是否已经安装,软件包的用途以及软件包复制到系统中的文件等相关信息,以便更好地管理 Linux 操作系统中的应用程序。-force:强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项。

2025-04-23 09:02:54 876

原创 Linux 系统入门

打开网络配置文件,通常是 /etc/network/interfaces ,使用命令 sudo nano /etc/network/interfaces。内核与发行版:Linux内核是操作系统的核心,负责硬件管理、进程调度等,而发行版则是在内核基础上,加入用户界面、软件包管理等,如Ubuntu、CentOS等。学会使用 ls 、 cd 、 pwd 、 mkdir 、 rm 基本命令来查看、切换、创建和删除文件与目录。静态IP配置:适合服务器等设备,需手动设置IP地址、子网掩码、网关和DNS服务器地址。

2025-04-22 09:46:48 367 1

空空如也

空空如也

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

TA关注的人

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