- 博客(63)
- 收藏
- 关注
原创 Kubernetes入门
Kubernetes(通常简称为K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由Google开发,并于2014年发布为开源项目。Kubernetes的设计目标是提供一个平台,使得在分布式系统中运行和管理容器化应用变得更加简单和高效。
2024-10-23 16:02:13
610
原创 Zabbix
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件,比如服务器、虚拟机、应用程序、数据库、网站等。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。监控在工作中是至关重要的,利用一个优秀的监控软件可以浏览整个网站的所有服务器的状态,在监控平台上实时查看监控数据,可以回溯寻找事故发生时系统的问题和报警情况。
2024-10-07 13:46:35
508
原创 rsync远程同步
rsync是一款强大的开源同步工具,可实现快速备份,主要用于在本地和远程系统之间高效地复制和同步文件或目录。rsync支持增量传输,即只传输自上次同步以来发生变化的文件或文件的部分内容,极大地提高了传输效率。因此非常适用于异地备份、镜像创建以及远程文件同步等。同时,rsync也支持本地复制,或者与其他SSH、rsync 主机同步有一些特有点需要知道一下,在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。
2024-09-15 14:40:29
849
原创 MySQL主从复制与读写分离
半同步复制根据字面意思还有结合同步和异步,大致能猜出是什么意思了,所谓半同步就是,主库完成事务后,将更新写入二进制文件,同样等待从库进行更新,但不一样的是,n台从库种,只要有一台从库完成了复制,主库就会立刻将事务提交,其他从库之间进行复制就可以了,这样的话不用等待处理较慢的从库了。半同步的问题是因为等待ACK的点是Commit之后,此时Master已经完成数据变更,用户已经可以看到最新数据,当Binlog还未同步到Slave时,发生主从切换,那么此时从库是没有这个最新数据的,用户看到的是老数据。
2024-09-10 15:28:32
1051
原创 MySQL存储过程
此外,存储过程还可以隐藏复杂的SQL逻辑,只暴露简单的接口给用户,这也有助于保护数据库的安全。同时,如果需要修改业务逻辑,只需要修改存储过程的定义,而不需要修改每个调用该存储过程的客户端代码,这大大简化了维护工作。执行效率高,存储过程在第一次执行后,其生成的二进制代码会被驻留在缓冲区中,这意味着后续的调用可以直接使用缓存的执行计划,而不需要重新编译,从而提高了执行效率。如果不设置存储过程,在用SQL语句操作数据库时,需要先编译,然后再去执行,存储过程就减少了编译的过程,速度更快,效率更高。
2024-09-05 16:41:19
391
原创 MySQL高阶语句
MySQL增删改查作为最基础的操作,应该都比较熟悉,但有时候需要对数据库的数据进行一些像excel表格那样的筛选,会手足无措,select 一查查出来许多数据,其实,MySQL语句中也有筛选、排序等操作。首先创建一个数据表,插入几条数据查看一下数据表,接下来对查询进行操作。
2024-09-05 14:38:44
948
原创 MySQL备份与还原
MySQL使用过程中,难免会出现不可抗力,这时候就体现了备份的重要性,MySQL备份在日常操作中是非常重要的,应该不会不知道备份是什么意思吧。数据备份的类型有很多,有物理备份和逻辑备份。
2024-09-03 17:12:12
1168
原创 MySQL索引、事务
可以是单列上创建的索引,也可以是在多列上创建的索引,需满足最左原则,因为select语句的where条件是依次从高左往右执行的,所以在使用select语句查询时,where条件使用的字段顺序必须和组合索引中的排序一致,否则将不会生效。脏读指事务读取到了其他事务未提交的数据,比方说事务B在修改数据,修改完还未提交,此时事务A读取数据,读到的是事务B修改过的数据,但是事务B可能会对数据进行回滚,也可能会提交,A并不知道,此时A就属于脏读。这个过程可能会非常耗时,尤其是这本书在我的寻找顺序的偏后方时。
2024-09-02 17:17:39
628
原创 MySQL
之前的一篇博客中稍微写了一些关于MySQL数据库的简单介绍,主要还是将更多的篇幅集中在了编译安装,现在回过头来,将目光聚焦在数据库原理上。
2024-08-29 17:13:44
1043
原创 LVS+keepalived集群
如果两台服务器配置了抢占模式,在MASTER从故障中恢复后,会重新接管工作,BACKUP顶替了一段时间继续恢复只监听不工作的状态,这就是抢占模式,很好理解;同样的,整个集群对外也表现为一个虚拟ip,有主服务器(MASTER)和备用服务器(BACKUP),原理与VRRP协议相同,主服务器在工作时会发送心跳报文给备用服务器,告诉备用服务器自身的存活状态,当备用服务器不再收到主服务器的报文时,默认主服务器宕机,此时备用服务器承担起转发数据等工作,在此之前,备用服务器只对主服务器进行监听,不参与任何工作。
2024-08-27 15:10:16
906
原创 LVS负载均衡-DR模式
LVS负载均衡DR模式主要用于将客户端请求分发到后端真实服务器。在DR模式下,LVS负载均衡器和后端真实服务器位于同一个物理网络中,通过修改数据包的MAC地址来实现请求的转发。具有高性能、低延迟、配置简单等优点具有如下几个特点:Director Server 和 Real 必须在同一个物理网Server络中。Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。Director Server作为群集的访问入口,但不作为网关使用。
2024-08-27 14:35:34
847
原创 LVS负载均衡
简单来说,就是通过防火墙规则+LVS-ipvsadm管理工具,先做内外网地址转换,定义一个虚拟主机,基于LVS-NAT模式的RR轮询策略,对于HTTP访问的请求,以轮询的方式转发给后端,然后,再定义从这台虚拟主机的网卡进入的流量应该对应指向后端的哪个服务器池,以及以什么模式、什么权重。根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多,保证性能强的服务器承担更多的访问流量。LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载。
2024-08-26 14:31:10
843
原创 Nginx服务优化与防盗链
mv /usr/local/nginx/logs/access.log ${logs_path}/kgc.com-access.log-$day #移动重命名。#define NGINX_VER "notfound " NGINX_VERSION #修改服务器类型。[ -d $logs_path ] || mkdir -p $logs_path #创建日志文件目录。#三次握手的超时时间。
2024-08-21 17:31:55
893
原创 Nginx的核心!!! 负载均衡、反向代理
之前讲过Nginx 的简介和正则表达式,那些都是Nginx较为基础的操作,Nginx 最重要的最核心的功能,当属反向代理和负载均衡了。
2024-08-21 15:31:23
1016
原创 LNMP安装部署
本篇为纯安装教程在部署之前,需要对系统进行一些必要的操作,关闭防火墙、关闭增强功能等,L和LAMP一样是Linux操作系统,我们默认在Linux操作系统上进行。
2024-08-21 11:34:21
1193
原创 Tomcat 部署与优化
提到Tomcat 就想到 java,没错,Tomcat 确实是 java 语言开发的,它是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 被普遍使用,是开发和调试 JSP 程序的首选,通常是作为一个 Servlet 和 JSP 容器,单独运行在后端。说了这么一大堆,其实都是有顺序的。
2024-08-20 14:35:30
798
原创 Nginx正则表达式
Nginx正则事实上和Linux操作系统内的正则表达式规则差不多,常用都是那些,比如^ :匹配输入字符串的起始位置 $ :匹配输入字符串的结束位置我就不一一例举了,用法都一样,详情看这篇博客前面在修改 Nginx 配置文件时接触过 rewrite 和 location ,从功能看它们似乎有点相似,其实不然Nginx 接收到一个HTTP请求时,它会根据请求的URL路径与配置中的 location 块进行匹配,以确定该请求应该由哪个配置块处理。
2024-08-15 17:56:42
892
原创 LAMP部署
相关专业的同志应该都知道,MySQL 是一个全球使用量非常庞大的开源数据库(相关数据显示,MySQL 在全球最受欢迎的数据库排名中高居第二位,仅次于 Oracle)。几乎任何软件app都离不开数据库,没有数据那软件或者app就只是一个空壳,没有意义。数据库顾名思义就是存放数据的地方。既然Oracle 是全球最受欢迎的数据库,那么我们 web 开发不使用Oracle数据库呢?最直观的就是,MySQL开源,而Oracle 需要付费购买许可。
2024-08-14 15:55:29
1023
原创 web基础
提到web,大家可能都心照不宣地觉得那是前端的事,和我不相干。其实如果是相关专业的话,在大学里应该是都学的,况且也不是完全不相干,如果多了解一些,也更便于工作中的互相沟通与配合。当我们在浏览器输入一个网站的域名时,浏览器会进行DNS地址解析,具体如何解析次数就不多赘述,我的另外一篇博客有讲解过我们这里讲讲一个网页的构成,首先网页是一个纯文本形式文件,编写的语言为html,然后网页拥有域名,一个主页(就是打开网站后第一个出现的页面),URL等等。
2024-08-08 15:08:33
1102
原创 Linux防火墙
然后我们打开另一终端,ping我们刚刚配置了新规则的机器,发现还是能ping的通,因为我们刚刚配置的规则是在最后一行,规则的匹配顺序是自上而下的,所以我们需要将 -A 追加改为 -I 插入,将新规则插入到第一行,此时我们再去另一台机器ping 本机,就ping不通了。只需在添加规则时,加上 -P 就可以添加默认规则,同样的 -F -P清除默认规则时需要慎重考虑,建议清除之前 iptables-save > /保存的目录,进行备份,如果没有-P就没事,加了 -P 一清除远程都会断开。
2024-08-05 17:14:49
662
原创 shell脚本免交互
今天在写自动化脚本的时候想起来,前几天写的shell脚本的博客里,貌似漏掉的一些东西,就是免交互,因为这个东西确实不是shell脚本的主体内容,所以我给整忘了,但又是平时经常会用到的东西,所以今天来做一个简单的补充什么是免交互呢?说一个直观的例子吧,我们在磁盘分区的时候,输入了 fdisk /dev/sdadbcd......之后,便进入了交互模式,根据自身需求,输入字母,选择是删除分区还是新建分区还是退出等等等。那么,我现在想编写一个脚本,实现自动分区呢?
2024-07-30 15:05:51
766
原创 文本编辑三剑客(awk)
awk作为和sed、grep同级的文本处理命令,也又强大的文本分析功能,同样,它的原理并不困难,但操作很多且很杂,可以通过不同的需求进行自定义搭配。
2024-07-29 15:34:36
956
原创 文本编辑三剑客(sed)
同作为文本编辑三剑客之一的sed同样有许多强大的功能,可根据指定的条件对文本内容进行删除、替换、添加等,也可以在无交互的情况下实现相当复杂的文本处理操作。
2024-07-25 17:38:12
847
原创 文本编辑三剑客(grep)
我在编写脚本的时候发现,三个文本编辑的命令(grep、sed、awk,被称为文本编辑三剑客,我习惯叫它三巨头)用的还挺多的,说实话我一开始学的时候也有些懵,主要是太多太杂,有那么个别些还有点难懂,最近恰好有时间,索性把三剑客相关的东西都整理出来,方便日后生疏了再回顾一下,顺便和大家一起交流学习。在学三巨头之前,首先要知道正则表达式。
2024-07-24 17:42:15
932
原创 shell脚本中函数与数组
我们都知道,学习一门语言,无论如何也无法脱离函数与数组,这两个东西的应用会让敲代码变得更简单巧妙,现在我们来学习shell脚本中的函数与数组。
2024-07-23 17:07:47
605
原创 shell脚本中for循环和while循环
前面说完了if判断语句,现在该来学习shell脚本中的另一个重点内容了,那就是循环语句。循环语句分为 for 循环和 while 循环,二者本质上来说是没有太大区别,但针对不同的情况,使用不同的语句可以事半功倍,我们先从for循环开始逐步学习。
2024-07-23 14:00:12
557
原创 shell脚本中条件判断语句
之前讲到了shell脚本中的一些基础操作,还有简单的加减法运算,今天先补充几点吧,因为可能条件判断语句中会用到,如果有没有补充讲到的在条件判断语句中出现了我也会特地说一声。
2024-07-17 18:49:34
942
原创 ssh作用及原理
那天看到一篇关于SSH的博客,我想到,其实关于SSH的东西还挺多的,所以索性我自己也写一篇,和大家一起学习学习,有什么不对的或者要补充的欢迎大家来私信我。我们平时应该很少去机房操作服务器,基本上都是远程连接的,就很多人在用的xshell,就是一个基于 SSH协议的终端仿真软件。那么,什么是SSH呢?SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行系统管理员与系统之间的通信。SSH 提供了加密的通信渠道,确保数据在传输过程中不被截获、篡改或伪造。
2024-07-16 18:49:47
825
原创 shell脚本中的变量
还是同样的,讲一个东西之前,我们要先知道,什么是变量呢?其实和数学中的变量x差不多,只不过这个变量不只是x,可以是任何数字字母组成(特殊字符和空格除外),然后呢这个变量也不是像数学里那样有什么定义域是随机的,它的值是我们主动赋予的。如果这么说不理解的话,我们举个例子。如果,x=1,那我输出x的话,会话框里会显示什么内容?很明显,会显示1啊。那么,再稍微来个复杂那么一丢丢的例子定义一个变量 beijing=capital然后我们输出 beijing 会显示什么?会显示 captial ,如图。
2024-07-16 17:58:44
1209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人