自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis主从复制、哨兵、集群

当主节点出现故障,此时哨兵节点会通过Raft算法(选举算法)实现选举机制共同选举出一个哨兵节点为leader,来负责处理主节点的故障转移和通知。为每个节点添加一个从节点A1、B1、C1整个集群便有三个Master节点和三个slave节点组成,在节点B失败后,集群选举B1位为的主节点继续服务。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移。

2024-07-17 01:07:54 329

原创 Redis配置与优化

正常情况下,大部分的访问请求应该是先被redis响应的,在redis那里得不到响应的小部分访问请求才会去请求MySQL数据库获取数据,这样MySQL数据库的负载压力是非常小的,且可以正常工作。缺点:RDB文件的致命缺点在于其数据快照的持久化方式决定了必然做不到实时持久化,而在数据越来越重要的今天,数据的大量丢失很多时候是无法接受的,因此AOF持久化成为主流。由于AOF持久化的实时性更好,即当进程意外退出时丢失的数据更少,因此AOF是目前主流的持久化方式,不过RDB持久化仍然有其用武之地。

2024-07-15 02:16:30 723

原创 初识Redis

Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;

2024-07-15 02:15:27 540

原创 MHA高可用

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。

2024-07-08 22:52:59 399

原创 mysql主从复制和读写分离

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(insert、update、delete),而从数据库处理select查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2024-07-08 22:50:09 923

原创 mysql半同步复制

介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会收到严重的影响。

2024-07-08 22:49:24 151

原创 mysql高级sql语句

mysql 高阶查询select 字段 from 表 where 字段 = 值 [and|or 字段 = 值];![not] in (值1, 值2, ...);between 值1 and 值2;like '通配符表达式';% _regexp '正则表达式';select 字段 from 表 order by 字段 ASC|DESC;#排序select 字段,聚合函数(字段) from 表 group by 字段;#分组,通常会结合聚合函数使用。

2024-07-02 02:50:29 243

原创 mysql备份与恢复

MySQL 的日志默认保存位置为 /usr/local/mysql/data。

2024-06-27 22:43:35 216

原创 mysql索引、事务、存储引擎

索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址事务就是一组数据库操作序列(包含一个或者多个SQL操作命令),事务会把所有操作看作是一个不可分割的整体向数据库系统提交或撤消操作,所有操作要么都执行,要么都不执行。存储引擎是MySQL数据库中的组件,负责执行实际的数据I/O操作(数据的存储和提取)。工作在文件系统之上,数据库的数据会先传到存储引擎,再按照存储引擎的存储格式保存到文件系统。

2024-06-17 17:23:45 908

原创 mysql数据库管理

每个二维表分为列和行 列(字段):用来描述对象的一个属性 行(记录):用来描述一个对象的信息。SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。数据库分两大类: 关系型数据库 SQL 非关系型数据库 NoSQL。非关系型数据库 NoSQL。关系型数据库 SQL。

2024-06-17 01:54:47 347

原创 HAproxy搭建web集群

默认 haproxy 的日志是输出到系统的 syslog 中,查看起来不是非常方便,为了更好的管理 haproxy 的日志,我们在生产环境中一般单独定义出来。需要将 haproxy 的 info 及 notice 日志分别记录到不同的日志文件中。1. 方法一global......defaults......log global......#需要修改rsyslog配置,为了便于管理。

2024-05-26 11:02:31 833

原创 使用 Lua 扩展功能的 HAProxy 安装指南

通过上述步骤,已经成功安装并配置了支持 Lua 的 HAProxy。现在可以根据您的需求自定义 HAProxy 配置,并利用 Lua 扩展功能为您的负载均衡器添加更多强大的功能。HAProxy 是一个流行的开源负载均衡器和代理服务器,它支持通过 Lua 扩展功能。本文将介绍如何安装和配置支持 Lua 的 HAProxy。首先,我们需要安装 Lua 解释器,以便 HAProxy 可以使用 Lua 扩展功能。接下来,我们将安装 HAProxy,并确保在编译时启用 Lua 支持。

2024-05-21 21:38:42 673

原创 LVS+keepalived集群

它允许多个路由器组成一个虚拟路由器组,共享一个虚拟 IP 地址,以提供对外服务的高可用性和冗余性。VRRP 协议的主要目标是在网络设备出现故障时,能够快速地将工作负载转移到备用设备上,从而减少服务中断时间。在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2024-05-21 21:36:55 446

原创 基于nginx做负载均衡器配合keepalived做高可用

【代码】基于nginx做负载均衡器配合keepalived做高可用。

2024-05-18 23:38:53 380

原创 LVS负载均衡集群

特点:由多台主机构成,都干同样的一件事,对外展现为一个整体。集群 又叫群集 cluster。

2024-05-15 15:01:04 1879 1

原创 Tomcat配置及优化

Tomcat默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。如果当前线程池中的线程数量少于此值,Tomcat会创建新的线程来处理请求,以确保有足够的线程可用。如果设置为true,Tomcat将禁用对上传请求的超时限制,允许上传大文件而不会因超时而中断。如果设置为false,Tomcat将禁用对客户端主机名的DNS查找,以提高性能。如果设置为on,Tomcat将尝试使用压缩算法来压缩响应数据,以减少传输的数据量,提高性能。

2024-05-06 23:37:07 939 1

原创 用ab命令压测网站

命令是 Apache HTTP 服务器自带的一个用于性能测试的工具,全称是 Apache Bench。在这个测试中,大部分请求都在0毫秒内完成,说明服务器的响应速度非常快。在这个测试中,连接时间都非常短,大部分请求的连接时间为0毫秒。命令会输出测试结果,包括每个请求的响应时间、吞吐量、失败次数等。: 每秒完成的请求数,平均约为29238.91个请求。总的来说,这个测试结果显示服务器在当前的负载下表现良好,能够以极高的速度处理请求,并且没有失败的请求。: 成功完成的请求总数,达到了指定的1000个请求。

2024-04-29 01:36:37 442

原创 Tomcat

Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 <% 开头,以 %> 结束。

2024-04-20 00:09:47 524

原创 supervisor使用详解

使用文档:http://supervisord.org/supervisor是Python开发的c/s服务,是Linux系统下的进程管理工具。可以监听、启动、停止、重启一个或多个进程用supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程的自动恢复的功能,不在需要自己写脚本来控制。

2024-04-20 00:06:31 295

原创 nginx_rewirte

(location = 完整路径) > (location ^~ 路径) > (location* 正则顺序) > (location 部分前缀路径) > (location /)在没有精准匹配的情况下,先看前缀匹配的长度,然后根据最长的前缀匹配的优先级去确定是否再去看其它正则匹配location如果最长的前缀匹配带有 ^~ 则不再看其它正则匹配location,如果最长的前缀匹配是没有修饰符的一般匹配则会再看其它正则匹配location前缀匹配看长度,最长的优先匹配;

2024-04-18 16:34:34 616

原创 nginx优化总结及系统内核优化

【代码】nginx优化总结及系统内核优化。

2024-04-10 22:44:09 443

原创 nginx优化与防盗链

压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装。优化 PHP-FPM 的参数可以提高 PHP 进程管理的性能和效率,提高 PHP 脚本的执行效率和服务器的响应速度,同时减少服务器资源的消耗,从而提升 Nginx 服务器的整体性能和稳定性。当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快访问速度。:一般针对静态网页设置,对动态网页不设置缓存时间。

2024-04-10 18:29:07 1128

原创 分布式部署LNMP,搭建discuz论坛

LNMP 是一种常见的服务器环境配置,用于运行 Web 应用程序。它由 Linux、Nginx、MySQL(或 MariaDB)、PHP 组成。

2024-03-29 23:09:24 787

原创 nginx模块控制

allow和deny放置的位置会影响它们的作用范围和优先级。放置在 http 块中的 deny 和 allow 指令将影响整个服务器的行为,这意味着无论客户端请求的是哪个服务器块(server block),这些指令都会生效;如果将 deny 和 allow 指令放置在 server 块内,那么它们将仅影响该特定服务器块中的请求;将 deny 和 allow 指令放置在 location 块内,会使其仅适用于该特定位置的请求。:规则从上往下执行,如匹配则停止,不再往下匹配。

2024-03-17 22:08:10 386

原创 nginx性能优化及主配置文件讲解

root指令用于定义文档根目录,在处理客户端请求时,NGINX会在root指定的目录下查找请求的文件。alias指令也用于定义文件系统路径,但它与root不同,因为它可以用于在URI中重写部分路径。设置完成后可以看到我这里有四个worker进程,刚好和cpu数量一致。用vim编辑器进入nginx配置文件。验证nginx打开文件的最大限制。还需设置系统级别打开文件数限制。

2024-03-17 00:08:07 408

原创 nginx概述、编译安装、平滑升级nginx

nginx是一种轻量级/高性能的反向代理web服务器,可实现高效的反向代理、负载均衡,支持处理2-3万的并发连接数,是目前国内主流的web服务器。

2024-02-06 17:03:00 1046

原创 正则表达式和文本三剑客AWK

正则表达式(Regular Expression)是一种用来匹配和操作文本的模式。它是由字符和特殊字符组成的字符串,用来描述和匹配一系列符合某种模式的字符串。与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。正则表达式被很多程序和开发语言所广泛支持:vim, less,grep,sed,awk, nginx,mysql 等正则表达式主要用来匹配字符串(命令结果,文本内容)

2023-11-28 18:22:13 128

原创 shell(5)函数和数组

函数名 (){脚本其他方式function 函数名 () {return表示退出函数并返回一个退出值,脚本中可以用$?变量表示该值使用原则:函数一结束就去返回值,应为$?变量只返回执行的最后一条命令的退出返回码退出码必须是0-255,超出的值将为除以256取余数组是一种能够存储多个值的数据结构。Bash 支持一维数组,可以包含整数、字符串或混合类型的元素。普通数组 下标是数字关联数组 下标是有含义的字符串。

2023-11-26 18:25:43 62

原创 shell(4)

while 是 Bash 中的一种循环结构,它在条件为真的情况下重复执行一段代码块,直到条件变为假为止。seq 是一个用于生成数字序列的命令。它能够以不同的步长和范围生成一系列的数字。break跳出单个循环 break n 数字数字是几代表跳出n层循环。continue终止某次循环中的命令,但是不会完全终止命令。exit 直接退出脚本。

2023-11-26 17:51:09 73

原创 shell(3)

Globbing(通配符匹配)是一种用于文件名匹配的方法,常用于Shell中。它使用通配符(通常是*、?、[]等)来匹配文件名或路径名中的多个文件或目录。在Shell脚本中,case语句是一种用于根据不同模式匹配执行不同操作的结构。它通常与esac(case倒过来拼写)一起使用。

2023-11-26 17:28:26 46

原创 shell编程(2)

test 测试文件的表达式 是否成立。

2023-11-22 19:17:44 38

原创 shell编程(1)

Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,并输出执行结果。常见的 Shell 解释器程序有很多种,使用不同的 Shell 时,其内部指令、命令行提示符 等方面会存在一些区别。通常情况下,它从键盘接收输入,但它也可以从其他文件或者另一个程序的输出中读取数据。vim写一个以.sh后缀的脚本文件,并声明用的解释器,并写入要执行的命令。

2023-11-21 00:31:47 44

原创 手把手教你利用pxe批量装机

PXE装机是一种利用PXE(Preboot eXecution Environment)技术进行操作系统安装的方法。通过PXE装机,计算机可以通过网络启动,并从远程服务器获取操作系统镜像,而不需要使用本地光盘或USB驱动器。

2023-11-19 17:30:58 581

原创 yum仓库

可以使用yum history undo +序号进行卸载,这样对比remove好处是可以将所有的依赖都删除。进入etc/yum.repos.d中,创建一个目录,把所有网络yum源文件移动到这个目录中。显示可用的安装包,如不加软件名是显示所有的可用包,由于软件过多不做例子。也可以使用yum history redo +序号进行重新操作。2.启动服务并把镜像文件挂载到httpd软件的网页配置文件中。显示安装包详细信息,详情如下。卸载已安装的软件必须加软件名。清除yum源,生成源信息。

2023-11-18 19:28:27 41

原创 网络文件共享服务

由 vsftpd 包提供,不再由xinetd管理用户认证配置文件:/etc/pam.d/vsftpd/etc/vsftpd/vsftpd.conf 主配置文件NFS:Network File System 网络文件系统,基于内核的文件系统(可挂载)。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。

2023-11-18 18:02:49 76

原创 ssh远程登录

SSH(Secure Shell)是一种加密网络协议,用于安全地远程连接到计算机并进行管理。SSH服务器是安装了SSH协议的服务器,它允许用户通过安全的连接(加密传输)远程访问服务器。这种连接可以用于执行命令、传输文件以及远程管理服务器,而且因为数据是加密传输的,因此更加安全可靠。

2023-11-16 17:10:38 60

原创 DNS域名解析

DNS(Domain Name System)是互联网中用于将域名(例如www.example.com)转换为IP 地址的系统。它充当了互联网的地址簿,允许人们使用易记的域名而不是记住复杂的 IP 地址来访问网站、发送电子邮件等。

2023-11-14 17:03:37 140

原创 DHCP和时间管理

DHCP代表动态主机配置协议(Dynamic Host Configuration Protocol)。它是一种用于在网络上自动分配IP地址和其他网络配置信息的协议。DHCP旨在简化网络管理,允许计算机和其他设备在加入网络时自动获取所需的网络配置信息,而无需管理员手动配置每个设备的网络参数。

2023-11-12 16:12:46 184 1

原创 Linux网络

ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。查看或设置主机中路由表信息。

2023-11-12 14:28:48 87 1

原创 设置双网卡和多网卡绑定

多网卡绑定是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。直接输入 :% s/ens33/ens36/g ,将所有ens33改名为ens36。这里修改IPADDR,我将ip改成192.168.50.40,删除UUID。或者这里我们可以直接复制ens33网卡,改名叫ens36,再进行修改即可。这里我们输入ifconfig ,可以看到多加了一块ens36网卡。vim ifcfg-ens33,修改配置文件。

2023-11-12 14:28:04 1665 1

空空如也

空空如也

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

TA关注的人

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