自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FastDFS分布式存储

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

2025-06-12 14:32:29 875

原创 GFS分布式文件系统

GlusterFS 是一个开源的分布式文件系统,它将多个物理存储设备整合为一个统一的存储池,通过网络向外提供文件存储服务。它基于标准的 Linux 操作系统和通用的硬件设备构建,不依赖于专用硬件,具有高度的灵活性和可扩展性。GlusterFS 支持多种客户端,包括 Linux、Windows、macOS 等,并且可以与多种应用程序无缝集成,如虚拟化平台(KVM、VMware)、数据库(MySQL、PostgreSQL)等,广泛应用于大数据存储、云计算、内容分发网络等领域。

2025-06-11 14:42:19 798

原创 MongleDB数据库应用

MongoDB 是一个文档型数据库,数据以类似JSON的文档形式存者。MongoDB的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。集合(Collection):数据库中的一个集合,类似于关系型数据居中的表。

2025-06-10 14:32:50 831

原创 NoSQL之Redis集群

集群,即RedisCluster,是Redis3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点;只有主节点负责读写请求和集群信息的维护:从节点只进行主节点点数据和状态信息的复制。

2025-06-09 12:01:08 975

原创 Redis哨兵模式

哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。哨兵最基础架构由两部分组成,包括哨兵节点和数据节点。其中,哨兵节点是特殊的Redis节点,并不存储数据,出于高可用方面考虑,哨兵架构中通常都是多个哨兵节点共同提供服务。数据节点用于存储Redis数据。包包括主节点和从节点。

2025-06-06 11:47:56 1127

原创 nosql之redis配置与优化

在数据管理领域,数据库的发展历程见证了信息技术的迭代与进步。从最初的层次数据库、网状数据库,到如今占据主流地位的关系型数据库与非关系型数据库,每一次变革都源于对数据处理效率和业务需求的深度响应。Redis 的核心优势在于其高性能、原子性操作和丰富的功能特性。由于数据存储在内存中,Redis 的读写速度极快,能够轻松处理每秒数万次的并发请求。同时,Redis 的所有操作都是原子性的,确保了数据操作的一致性和可靠性。

2025-06-06 09:00:54 962

原创 Kafka消息队列

消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(MessageQue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把泪消息发布到MQ中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。

2025-06-04 14:08:04 936

原创 LVS负载均衡群集

京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java语言开发的Web站点。目前,IBM的WebSphere及Oracle的WebLogic占据了市面上Java语言Web站点的大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司的Web场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。Tomcat自5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。

2025-06-03 16:24:32 994

原创 LVS + Keepalived高可用群集

Keepalived的官方网站位于http://www.keepalived.org/,本章将以YUM方式讲解Keepalived的安装、配置和使用过程。在非LVS群集不境中使用时,Keepalived也可以作为热备软件使用。

2025-05-29 14:18:08 1114

原创 LVS-DR 负载均衡群集

修改源MAC地址为Director Server的MAC地址,修改目标 MAC地址为Real Server的MAC地址,源IP地址与目标IP地址没有改变,然后将数据包发送给Real Server。LVS-DR模式,Director Server作为群集的访问入口,不作为网关使用,节点 Director Server与Real Server需要在同一个网络中,返回给客户端的数据不需要经过Director Server。> Real Server上的 lo接口配置 VIP 的 IP 地址。

2025-05-29 11:51:32 633

原创 LVS负载均衡群集

根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的x共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。

2025-05-27 11:54:13 1138

原创 Python网络编程

Socket是网络通信的基础,是实现网络编程的抽象层。在Python中,socket模块提供了对Socket的封装,使得我们可以轻松实现TCP和UDP通信。Socket接口提供了发送、接收、连接、断开等操作,允许我们在程序中实现网络通信。> IPv4和IPv6:Socket支持IPv4和IPV6协议,通过指定不同的地址族(AF_INET表示IPV4,AF_INET6表示IPV6)可以支持不同的网络环境。

2025-05-26 11:14:52 1161

原创 Python操作MySQL数据库

连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。> READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况> READ COMMITTED:解决了脏读问题,但可能出现不可重复读。> REPEATABLE READ:解决了脏读和不可重复读问题,但可能出现幻读。

2025-05-24 11:09:51 1229

原创 初识Flask框架

Flask作为一个微框架,强调简单性和灵活性。它依赖于两个重要的Python库来提供核心功能:这是Flask的底层库,提供了WSGI接口、HTTP请采我和响应处理、路由等核心功能。一个功能强大的模板引擎,用于动态生成HTML页面。Flask的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过Flask的扩展库进行补充。

2025-05-23 12:19:22 1171

原创 Python实现Web请求与响应

Web请求与响应是Web通信的基础。Web请求由客户端发起,服务器处理后返回响应。HTTP(Hypertext Transfer Protocol)是Web上传输数据的协议义,负责浏览器与服务器之间的通信。常见的HTTP方法有:> GET:请求服务器获取资源,通常用于读取数据。> POST:提交数据到服务器,通常用于表单提交、文件上传等。> PUT:更新服务器上的资源。> DELETE:删除服务器上的资源。

2025-05-22 12:28:41 1030

原创 PostgreSQL日常维护

pg_dump产生的转储是相对于template0。结果是,如果在恢复B时使用的是一个自定义的templatel,你必须从 template0创建一个空的数据库,正如上面的例子所示。pg_database是系统目录表,所以无论当前连接到哪个数据库该表始终可见系统表默认属于pg_catalog模式,而pg_catalog始丝终位于搜索路径search path)的首位。SQL转储方法的思想是创建一个由SQL命令组成的文件,当把这个文件回馈给服务器时,服务器将利用其中的SQL命令重建与转储时状态一样的数据库。

2025-05-21 11:35:26 1313

原创 PostgreSQL初体验

PostgreSQL,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的PostgreSQL,不仅继承了其前身Ingres的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。

2025-05-20 12:01:54 1244

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

所以通常认为磁盘I/0是制约MySQL性能的最大团因素之一,通常是使用RAID-0+1磁盘阵列,注意不要尝试使用RAID-5,MySQL在ERAID-5磁盘阵列上的效率并不高。EXPLAIN 是MySQL中用于分析SQL执行计划的工具,通过模拟查询执行过程输出关键信息(如访问类型 type、使用索引 key、预估扫描行数 rows、额外操作 Extra等),帮助开发者识别全表扫描、索引失效等性能瓶颈,从而指导优化方向(如添加索引、改写查询或调整表结构),是提升数据库效率不可或缺的诊断手段。

2025-05-19 16:14:19 1291

原创 MySQL高可用

目前MySQL已经成为市场上主流数据库之一,考虑到业务的重要性,MySQL数据库单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA的出现就是解决MySQL单点的问题。另外随着企业数据量越来越庞大大,数据库的压力又成为企业的另一个瓶颈,MySQL多主多从架构的出现可以减轻MySQL本身的压力。本章将主要围绕"MySQL主主复制+Keepalived+HAProxy"这一经典高可用架构展开,通过理论结合实践,解析如何通过开源工具实现数据库的故障自动转移、负载均衡和读写分离。

2025-05-17 18:11:58 1374

原创 Docker构建Nginx、PHP、MySQL及WordPress部署及解释

docker run -id --net=my_net -v /web:/web -v /opt/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf -p 80:80 --name nginx01 mynginx:启动一个名为 nginx01 的容器,使用 my_net 网络,挂载本地目录和配置文件,并将容器的 80 端口映射到主机的 80 端口。

2025-05-15 10:53:40 1089

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

首先,Slave开始一个工作线程一一I/0线程,I/0线程在Master上打开一个普通的连接,然后开始Binlogdump process。复制过程有一个很重要的限制,即复制在SIave上是串行化的,也就是说Master上的并行更新操作不能在Slave上并行操作。MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。在主服务器上执行的SQL语句,在从最务器上执行同样的语句,MySQL默认采用基于语句的复制,效率比较高。

2025-05-14 11:23:57 1447

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

数据备份是防止数据丢失的最后一道防线。在实际应用中,数据丢失的原因多种多样,例如硬件故障(硬盘损坏、服务器崩溃等)、软件错误(数据库崩溃、应用程序漏洞导致数据损坏)、人为误操作(误删除表、误修改数据)、自然灾害(火灾、地震等)以及恶意攻击(黑客入侵、勒索软件加密数据)等。增量备份只备份自上一次备份以来发生变化的数据,因此备份时间短、占用空间小。但恢复时需要依次应用上一次完全备份和所有的增量备份,恢复过程相对复杂。​。

2025-05-12 14:14:02 1296

原创 MySQL索引和事务

索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。

2025-05-10 11:56:00 1324

原创 MySQL数据库操作

MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于Web应用程序的后端数据存储。SQL语言主要由以下几部分组成。>DDL(DataDefinitionLanguage,数据定义语言):用来建立多数据库、数据库对象和定义字段,如CREATE、ALTER、DROP。>DML(Data Manipulation Language,数据操纵语言):用来插入、除和修改数据库中的数据,如INSERT、UPDATE、DELETE。

2025-05-09 14:12:38 1069

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

GoAccess是一个开源实时 Web 日志分析器和交互式查看器,可在Linux系统上的终端中或通过浏览器运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的HTTP统计信息。GoAccess解析指定的Web日志文件并将数据输出到X终端瑞。特点包括:完全实时:所有面板和指标都定时在终端输出上每200毫毫秒更新一次,在HTML输出上每秒更新一次。

2025-05-08 14:21:42 1266

原创 MySQL数据库初体验

使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。>可以结构化存储大量的数据信息,方便用户进行有效的检?索和访问>可以有效地保持数据信息的一致性、完整性,降低数据冗余。>可以满足应用的共享和安全方面的要求。数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。20世纪80~90年代是关系数据库产品发展和竞争的时代代。

2025-05-08 12:15:36 1191

原创 Nginx安全防护与HTTPS部署实战

server传输CA颁发的证书给client,client收到证书后使用系统内置的CA证书的公钥来验签,验签通过证明证书是受信任的,证书受信任那么证书中的公钥也就是受信任的,这样的话就解决了公钥传输过程中被调包的风险。Client拿到server端的公钥后,使用公钥加密会话密钥(也就就是对称加密的密钥),然后发送给服务端,服务端通过私钥解密获得会话密钥(对称加密的密钥),然后就可以安全愉快的进行数据传输了Ps:

2025-05-06 12:28:34 1143

原创 Nginx核心功能及正则表达

上述配置中,使用upstream定义后端应用服务器的地址池"backend",在location块中,使proxy_pass,转发请求至后端地址池,proxy_set_headerHost$host:将请求中的Host头部设置为客户端请求的主机名6,proxy_set_header X-Real-IP$remote_addr:将请求中的X-Real-IP头部设置为客户端的真实IP地址。Nginx的四层(网络层)反向代理基于TCP/UDP协议,直接转发原始数据流,不解析应用层内容。#其他状态码缓存5秒。

2025-05-02 14:43:13 1435

原创 Nginx核心功能

Nginx与Apahce一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与Apache基本一致。概括为以下几个步骤。>生成用户密码认证文件。>修改主配置文件相对应目录,添加认证配置项。>重启服务,访问测试。基于客户端的访问控制是通过客户端IP地址,决定是否允许许对页面访问。Nginx于客户端的访问控制要比Apache简单,规则如下:>denyIP/IP段:拒绝某个IP段的客户端访问。

2025-04-29 19:03:42 1171

原创 Web基础与HTTP协议

网页是一个文件,他存放在世界某个角落的某一部计算机中,而这部计算机必须是与互联网相连的。网页经由网址(URL)来识别与存取,是是互联网中的一"页"。>文本:文本是网页上最重要的信息载体与交流工具,网页中的三主要信息一般都以文本形式为主。>图像:图像元素在网页中具有提供信息并展示直观形象的作用静态图像:在页面中可能是图片或矢量图形。图片格式通常为GIF、JPEG或PNG等;矢量格式通常为SVG或Flash。动画图像:通常动画为GIF和SVG。

2025-04-28 19:09:58 1181

原创 Python函数与模块

组成)、month(1-12)、day(1-31)、hours(0-23)、minutes(0-59)、second(0-59)、weekday(0-6,0 表示周一)、Julian day(1-366,一年里的天数)、DST flag(-1, 0 或 1,是否是夏令时,默认为-1)。的值是 5 时,此时 y 的默认值不起作用,所以 aa(10,5)和 aa(x=10,y=5)输出时 y 的值都。代码中,aa(x=10,y=6)和 aa(y=6,x=10)语句在调用函数 aa(x,y)的同时,指定了参数。

2025-04-24 11:32:52 794

原创 Python流程控制

的score>=60就是一个使用关系运算符">="的条件表达式,表示:如果score大于等于60,则表达式的结果是True(真);and是与运算,只要有一个值是False,结果就是False,所以(True and False)的结果是False;因为10不等于9,所以,10==9。or是或运算,只要有一个值是True,结果就是True,所以(True or False)的结果是True。条件表达式的顺序颠倒,比如把score>=60放到score>=90之前,那么输入100时,首先判断的。

2025-04-23 15:43:30 854

原创 Python简介与入门

使用引号定义字符串的值示例代码如下:字符串变量title1中出现了单引号,需要使用双引号定义,字符串变量title2中出现了双引号,需要使用单引号定义。当字符串中同时出现单引号和双弓引号,就需要使用三引号进行定义。python中的转义字符是"\',只要在特殊字符前面加上"\',就可以输出原字符,i而不需关注定义字符串使用的是单引号还是双引号。使用转义字符为字符串赋值示例代码如下:备注:Python 的常用转义字符\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号。

2025-04-22 16:33:58 765

原创 系统安全及应用

在internet环境中,过于简单的口令是服务器面临的最大风险,John the Ripper是一款开源的密码破解工具,能够在已知密密文的情况下快速分析出明文的密码字串,支持DES、MD5等多种加密算法,而且允许使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。在不安全的网络环境中,为了降低密码被猜出或被暴力破解的风阵俭,用户应养成定期更改密码的习惯,避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。

2025-04-21 17:43:13 870

原创 firewalld防火墙

firewall-cmd 预定义信息主要包括三种:可用的区域、可用的服务以及可用的 ICMP 阻塞类型。目的地址不可达。echo-reply应回应(pong)参数问题redirect重新定向路由器通告。路由器征寻。源端抑制。超时。时间戳应答回应。时间戳请求。

2025-04-20 17:47:19 1105

原创 iptables防火墙

编写iptables规则时使用“--icmp-type ICMP类型”的形式,针对的协议为ICMP,用来检查ICMP数据包的类型(--icmp-type)。在编写防火墙规则时,匹配条件的设置起着决定性的作用。编写iptables规则时使用“-i接口名”和“-o接口名”的形式,用于检查数据包从防火墙的哪个接口进入或发出,分别对应入站网卡(--in-interface)、出站网卡(--out-interface)例如,若要丢弃从外网接口(ens33)访问防火墙本机且源地址为私有地址的数据包,可以执行以下操作。

2025-04-17 17:49:47 969

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

一:正则表达式1:正则表达式的定义正则表达式又称正规表达式、常规表达式。在代码中常简写为regex、regexp或RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串,正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹配的一个或多个字符串。正则表达式一般用于脚本编程与文本编辑器中。很多文本处理器与程序设计语言均支持正则表达式,

2025-04-16 16:32:36 588

原创 shell编程之函数与数组

数组切片是一种操作,用于从数组中提取出一部分连续的元素,形成一个新的数组。为避免编写的脚本出错,除了在编写脚本时注意书写规范,排除语法错误,更重要的是利用调试脚本工具来调试脚本。echo命令是最有用的调试脚本工具之一,一般在可能出现问题的脚本中加入echo命令,采用的是分段排查的方式。在Shel1编程里,数组遍历指的是按顺序访问数组中的每一个元素,并对这些元素执行特定操作的过程。上述脚本接收两个参数,第一个参数是写日志的目标文件,第二个参数是日志信息,整个脚本实现将日志信息写入目标文件内的目的。

2025-04-15 18:17:04 691

原创 shell编程之循环语句

在一些技术培训和学习领域,出于实验或测试的目的,需要批量添加用户账号,这些用户的名称中包含固定的前缀字串,并按照数字顺序依次进行编号,账号的数量往往也是固定的。本例中计算从1到50的和,从1开始相加,采用循环的方式,每次循环后加1,将得到的值加入计算的和中,数字运算采用的是let方式,直到加到50为止,具体的操作参考如下。然后将列表中的第二个取值赋给变量,并执行循环体中的命令序列...依此类推,直到列表中的所有取值用完,最后将跳至done语句,表示结束循环,结果进行判断,并输出相应的提示信息。

2025-04-14 19:51:10 516

原创 Shell编程之条件语句

其中,“8&”符号表示“而且”的关系,只有当前面的命令执行成功后才会执行后面的命令,否则后面的命令将会被忽略。双分支if语句的执行流程:首先判断条件测试操作的结果,如果条件成立,则执行then后面的命令序列1,忽略else及后面的命令序列2,直到遇见fi结束判断;当普通用户执行chkifroot.sh脚本时,由于“非root用户”的条件成立,因此会提示权限不足并退出脚本(使用“exit 1”退出脚本后,fi之后的fdisk命令将不会执行)。文件测试的常见操作选项如下,使用时将测试对象放在操作选项之后即可。

2025-04-11 18:10:54 922

空空如也

空空如也

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

TA关注的人

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