- 博客(34)
- 收藏
- 关注
原创 Docker私有仓库部署与管理
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-10-17 10:21:51
1605
原创 ZooKeeper和kafka
Zookeeper 是一个分布式协调服务,专门为分布式应用提供高效可靠的协调、同步、配置管理和 故障恢复等功能。它的设计目的是简化分布式系统的管理,保证多个节点之间的数据一致性和协调工 作。Zookeeper 提供了类似文件系统的层次化命名空间,用来存储和管理元数据,确保分布式应用的高 可用性和强一致性。Kafka 是一个分布式的基于发布/订阅模式的消息队列(MQ,Message Queue),主要应用于大数据实 时处理领域。
2024-09-23 15:48:23
1364
原创 ELK日志分析系统
ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具 配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ELK 是 Elasticsearch、Logstash、Kibana 的缩写,这三个工具组合在一起,用于数据收集、存储、 搜索和可视化分析。它们的角色如下:Elasticsearch:核心搜索和分析引擎,负责存储数据并提供快速的全文搜索和分析功能。
2024-09-19 17:13:04
1317
原创 rsync远程同步
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
2024-09-13 14:03:03
1382
2
原创 网络层协议介绍
为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table),这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我称之为ARP表项,如我们前面那张图所展示的一样,他们是主机最近运行时获得关于其他主机的IP地址到MAC地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC地址,最后通过网卡将数据发送出去。当超过该有效期后,则将重复上面过程。
2024-09-12 17:01:50
1259
原创 redis群集
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从切换技术的方法是:当服务器宕机后,需要手动一台从机切换为主机,这需要人工干预,不仅费时费力而且还会造成一段时间内服务不可用。为了解决主从复制的缺点,就有了哨兵机制。
2024-09-12 14:49:48
1469
原创 NoSQL之Redis
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;
2024-09-11 16:50:49
2755
原创 案例:MHA高可用配置和故障切换
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。① 作用:mysql的高可用 + 故障切换② 核心部分:MHA组件:manager:主要的功能:做MHA 启动、关闭管理和检测mysql各种健康状态。
2024-09-09 14:47:51
1198
原创 案例——Mysql主从复制与读写分离
读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从 数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。
2024-09-05 15:14:09
2592
原创 Mysql高阶语句
使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来,如果对查询的结果进行排序,可以使用 ORDER BY 语句来对语句实现排序,并最终将排序后的结果返回给用户。这个语句的排序不光可以针对某一个字段,也可以针对多个字段ASC 和 DESCASC 是按照升序进行排序的,是默认的排序方式,即 ASC 可以省略。SELECT 语句中如果没有指定具体的排序方式,则默认按 ASC方式进行排序。DESC 是按降序方式进 行排列。
2024-09-04 22:33:29
1346
原创 Mysql索引、事务、存储引擎
不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务B刚插入进来的,让用户感觉很魔幻,感觉出现了幻觉,这就叫幻读。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。
2024-08-30 17:37:42
2304
原创 mysql数据库基础与管理
另外还有“.ibd”和 ibdata 文件,这两种文件都是用来存放 Innodb 数据的,之所以有两种文件来存放 Innodb 的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)
2024-08-28 16:28:22
1220
原创 交换机原理与配置
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。首部的前一部分是固定长度,共 20 字节(如图所示前五行为IP首部),是所有 IP 数据报必须具有的。以太网首部占用14字节,首位开始是目的地址占用六个字节,其次是源地址,占用6个字节,然后是类型占用两个字节。这里两字节的类型表示上层协议的类型,如果两字节是08 00 (16进制),那该上层协议是ip协议,如果两字节是08 06 ,那么上层协议就是ARP协议。
2024-08-27 14:36:30
1362
原创 LVS+keepalived集群
Keepalived是一款开源的、免费的高可用软件,广泛应用于互联网IT企业中,以其、配置简单、管理方便等特点受到青睐。Keepalived是一个类似于Layer 3、4 & 5(即网络层、传输层和应用层)交换机制的软件,主要用于检测服务器的状态,防止单点故障,并提供故障转移和负载均衡功能。
2024-08-26 15:15:18
1234
原创 Haproxy搭建Web集群
默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。global#需要修改rsyslog配置,为了便于管理。将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件。
2024-08-26 14:35:10
768
原创 计算机网络参考模型
应用层:负责web浏览器的http协议,文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS。一台计算机上的一个程序(如qq)和很多其他计算机上的程序通信,需要使用IP+端口才能唯一的表示一个会话。半双工:就是可以互相发送数据,但是只能在同一时间,由一方发送给另一方 举例:对讲机。单工:简单来说就是只能有一方发送数据,另一方接收 举个例子:广播,电视。传输层:有可靠传输的TCP协议,高效的UDP。数据链路层:最主要协议有ARP,RARP,主要功能是提供链路错误检测。
2024-08-21 16:37:20
914
原创 案例:LVS-DR模式
(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。(2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。(3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。
2024-08-21 14:50:04
1507
原创 Web基础、http协议、源码编译构建LAMP
curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法, FTP上 传, kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证, 下载文件断点续传,上载 文件断点续传, http代理服务器管道( proxy tunneling),还支持IPv6,socks5代理服务器,通过http 代理服务器上传文件到FTP服务器等,功能十分强大。Apache ----------》静态页面-----------》静态请求(http/https)
2024-08-19 14:30:13
610
原创 源码构建LAMP
3.将apr-1.6.2 移动到httpd-2.4的srclib的apr目录下。4.将apr-2.4 移动到srclib的apr-util目录下。5.然后移动到httpd-.4.29下面,并且要安装相关依赖包。2.去压缩包的所在目录,解压缩,不要忘记后缀tar.gz。3.然后我们再解压自己的包(注意在有压缩包的目录下面)7.然后安装,因为我有4核,所以make -j 4。3.移动到php-7.1.24,然后配置,然后安装。2.移动但dir_的目录,进入mysql数据库。5.去mysql目录下,安装东西。
2024-08-19 14:11:39
728
原创 部署Nginx负载均衡+动静分离的群集
当客户端访问一台服务器有障碍,访问不到的时候,这时候就可以找一台可以访问到该服务器的另外一台服务器去代替他去访问,这台代替他去访问的服务器称之为代理服务器。而反向代理呢其实就是和正向代理反过来,他和服务器是一伙的,它屏蔽掉了服务器的信息,经常用在多台服务器的分布式部署上,像一些大的网站,由于访问人数很多,就需要多台服务器来解决人数多的问题,这时这些服务器就由一个反向代理服务器来代理,客户端发来请求,先由反向代理服务器,然后按一定的规则分发到明确的服务器,而客户端不知道是哪台服务器。
2024-08-19 13:55:38
677
原创 Tomcat的安装部署与优化
tomcat是在应用层处理,是一种web应用服务。tomcat是用java语言开发的,是一种轻量级应用服务,在中小型系统和用户访问量不是很多的情况下使用。tomcat虽然和Apache、nginx一样有处理HTML页面的功能。但是处理能力远不如Apache、nginx。所以通常作为一个Servlet和JSP容器,单独运行在后端。后台架构单体架构 传统架构(Tomcat)(会把许多功能模块,放在一个Tomcat当中,放在一个进程当中,软件会变得越来越臃肿)
2024-08-16 17:15:26
940
原创 Nginx网站服务
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器, 单台物理服务器可支持30 000~50 000个并发请求。并在一个 BSD-like 协议下发行。由俄罗斯的程序设 计师 Igor Sysoev 所开发,供俄国大型的入口网站及搜索引擎 Rambler(俄文:Рамблер)使用。其特 点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国 大陆使用 Nginx 网站用户有:百度 BWS、新浪、网易、腾讯、等。
2024-08-16 15:45:16
890
原创 Nginx ReWrite
使用浏览器访问 http://www.kgc.com/100-200-100.html 或 http://www.kgc.com/100-100-100.html 跳转到http://www.kgc.com页面。现在访问的是 http://bbs.kgc.com/post/,现在需要将这个域名下面的访问都跳转到http://www.kgc.com/bbs/post/如果输入的域名是http://www.kgc.com/data http://www.kgc.com/date/abc。
2024-08-14 17:27:29
1234
原创 Nginx优化与防盗链
none:允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接 过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段 的),如 http://www.kgc.com/game.jpg 我们使用 http://www.kgc.com 访问显示的图片,可以理解成 http://www.kgc.com/game.jpg 这个 请求是从 http://www.kgc.com 这个链接过来的。
2024-08-13 17:41:52
1223
原创 iptables防火墙
编写 iptables 规则时使用“-p 协议名”的形式指定,用来检查数据包所使用的网络协议(--protocol),如 tcp、udp、icmp 和 all(针对所有 IP 数据包)等,可用的协议类型存放于 Linux 系统的/etc/procotols 文件中。iptables的作用是为包过滤机制的实现提供规则,通过各种不同的规则,告诉netfilter对来自某些源,前往某些目的或具有某些协议特征的数据包应该如何处理,为了更加方便的组织和管理防火墙规则,iptables米用了表和链的分层结构。
2024-07-30 17:39:09
627
原创 免交互Expect
expect是建立在tcl语言基础上的一个工具,常用于进行自动化控制和测试,解决shell脚本中交互相关的问题。在使用这个工具前,要检查expect安装包以及tcl依赖包是否安装。用rpm -q expect和rpm -q tcl检查是否安装。如果没有安装,用yum或者光盘安装都可以。
2024-07-29 16:20:19
710
原创 LVM与磁盘配额
创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷(例:/dev/sdb1 /dev/sdc1)。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可。/dev/zero “零"设备文件,可以无限的提供空字符。
2024-07-26 16:42:49
679
原创 硬盘管理与文件系统
EXT4:第 4 代扩展文件系统,用于存放文件和目录数据的分区,是 Linux 系统中默认使用的文件系统(CentOS 7 默认使用 XFS)。在 Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。
2024-07-25 16:42:45
834
原创 账号和管理权限
例如,用户 zhangsan 是技术部的员工,与部门内的其他同事同属于基本组 tech,后来因工作安排需要,公司将 zhangsan 加入邮件管理员组 mailadm,则此时用户 zhangsan 同时属于 tech、mailadm 组,tech 组是其基本组账号,而 mailadm 组是其附加组账号。6./root:宿主目录,即该用户登录后所在的默认工作目录,宿主目录通常称为家(主)目录,root主目录是/root,普通用户的主用户是/home/...和*表示没有密码不能登录,新建用户也是!
2024-07-24 21:17:00
1082
原创 Shell编程之条件语句与case语句
要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。例如,当磁盘使用率超过 95%时,发送告警信息;当备份目录不存在时,能够自动创建;当源码编译程序时,若配置失败则不再继续安装等Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时表示成功,否则(非 0 值)表示失败或异常。使用专门的测试工具——test 命令,可以对特 定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立)。
2024-07-22 17:17:31
1037
原创 安装及管理程序
yum install 包名 -y --downloadonly --downloaddir=/tmp/ #下载RPM包到指定目录。baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录 本地yum源。yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认。mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下。
2024-07-18 17:37:22
885
原创 Shell编程规范及变量
Shell是一种命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。Linux系统中的Shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。预定义变量是由 Bash 程序预先定义好的一类特殊变量,用户只能使用预定义变量,而 不能创建新的预定义变量,也不能直接为预定义变量赋值。
2024-07-17 18:45:18
734
原创 目录和文件管理、Vi文本编辑器
在命令模式中按:键可以切换到末行模式,vi 编辑器的最后一行中将显示“:”提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读 取其他文件内容及字符串替换等丰富的功能操作。文件系统的最顶层是由根目录开始的,根目录是所有分区,目录,文件等位置的起点。目录相当于Windows中的文件夹,目录存放的既可以是文件,也可以是子目录,而文件中存储的是信息。格式:head -n 文件名 //查看文件开头的一部分内容(n为任意数,默认是10行)格式:tar 【选项】 ……
2024-07-16 16:20:44
1097
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人