- 博客(31)
- 收藏
- 关注
原创 RabbitMQ消息队列
虚拟主机类似于Apache的虚拟主机,如果没有虚拟主机,当RabbitMQ中的数据越来越庞大,队列越来越多,随之而来的是令人头痛的管理问题,比如队列、交换器命名冲突,它们相互影响等等。虚拟主机提供了资源的逻辑分组和分隔,每一个虚拟主机本质上是mini版的RabbitMQ服务器,他们有用自己的连接、队列、绑定、交换器,更重要的是有用自己的权限机制,这有点类似服务器和运行在服务器上的虚拟机一样。基于JAVA语言开发,其社区算是比较成熟,但是目前来说,ActiveMQ的性能比较差,而且版本迭代很慢,不推荐使用。
2024-08-14 17:41:24
1673
1
原创 zookeeper+kafka消息队列集群
如果主节点A发生了故障,这时候它在ZooKeeper所注册的节点信息会被自动删除,而ZooKeeper 会自动感知节点的变化,发现主节点A 故障后,会再次发出选举,这时候主节点B将在选举中获胜,替代主节点A成为新的主节点,这样就完成了主、被节点的重新选举。每个消费者服务器启动时,都会到Zookeeper 的指定节点下创建一个自己的消费者节点,如/consumers/[group_id]/ids/[consumer_id ],完成节点创建后,消费者就会将自己订阅的Topic 信息写入该临时节点。
2024-08-14 17:33:04
636
原创 NoSQL 之Redis集群模式
对象保存到redis 之前先经过CRC16哈希到一个指定的Node 上,这个过程即redis cluster 的分片,集群内部将所有的key映射到16384个Slot中,集群中的每个Redis nstance负责其中的一部分 的Slot 的读写。集群中的节点分为主节点和从节点;(2)如果一个主节点具有投票权,并且这个主节点尚未投票给其他从节点,那么主节点将向要求投票的从节点返回一条,CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK消息,表示这个主节点支持从节点成为新 的主节点。
2024-08-12 17:37:22
804
原创 NoSQL之 Redis 配置与优化
Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis 进程, 而 Redis 的实际处理速度则是完全依靠于主进程的执行效率。事实上,每秒同步也是异步完成的,其效率也是非常高的,弊端是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。性能最大化,对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了。对于普通的BBS 网站,往往也会存在高并发的写数据请求。
2024-08-12 16:51:09
828
原创 LVX+keepalived群集
Keepalived 起初是专门针对LVS 设计的一款强大的辅助工具,主要用来提供故障切换(Failover) 和健康检查(Health Checking) 功能——判断 LVS负载调度器、节点服务器的可用性,当master 主机出现故障及时切换到backup节点保证业务正常,当master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。不同之处主要在于路由器名称、热备状态、优先级。此时主服务器仍然在线,VIP 地址实 际上仍然由主服务器控制,其他服务器处于备用状态。
2024-08-07 16:56:49
541
原创 部署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地址。
2024-08-06 12:57:44
292
原创 LVS负载均衡群集
当用户向服务器发送一个访问请求时,不让用户直接访问服务器,而是访问一个独立的调度器服务器,它的任务是接收用户的访问请求,把请求按照调度策略分配给后端的服务器。外网客户端最终接收到的响应来自调度器,因为调度器会将来自内网服务器的响应经过隧道的IP地址转换,使得外网客户端看到的是调度器的公共IP地址作为源地址。类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,作为外网的访问入口,内网的应答出口。后端服务器收到请求后,生成响应,然后返回给调度器,此时响应的源地址是后端服务器的IP地址。
2024-08-05 13:21:45
314
原创 MySQL 存储引擎
静态表中的字段都是非可变字段,这样每个记录都是固 定长度的,这种存储方式的优点是存储非常迅速,容易缓存,出现故障容易恢复;动态表包含可变字段,记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新、删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk -r 命令来改善性能,并且出现故障的时候恢复相对比较困难。MyISAM存储引擎不支持事务,也不支持外键,特点是访问速度快,对事务完整性没有要求,以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。
2024-07-31 11:27:26
769
原创 数据库的备份与恢复
以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到最后一次增量备份之间的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。完全备份:每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。差异备份:备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。
2024-07-29 17:25:14
2090
原创 Tomcat 部署及优化
Engine匹配到名为localhost的Host (即使匹配不到也把请求交给该Host 处理,因为该Host被定义为该Engine的默认主机),名为localhost的 Host 获得请求 /testindexjsp,匹配它所拥有的所有Context。connectionUploadTimeout :上传超时时间,毕竟文件上传可能需要消耗更多的时间,该参数需要根据自己的业务需要自行调整,以使Servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。通常默认20000 毫秒就可以。
2024-07-22 17:40:26
1546
原创 源码编译安装LAMP
Apache服务器的。模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为Apache 服务器带来了良好的扩展性。Include: 包含另一个配置文件的内容,可以实现将一些特殊功能的配置放到一个单 独的文件中,再使用Include 配置项将其包含到httpd.conf文件中,这样便于独立进行配置功能的维护而不影响主配置文件。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。
2024-07-10 11:03:13
859
原创 Web 基础与HTTP 协议
在互联网上域名与IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之 间只能互相认识 IP地址,它们之间的转换工作称为域名解析,域名解析要由专门的域名解析系统来完成,DNS 就是进行域名解析的系统。二级域名:在顶级域名之前的域名,在顶级域名前面,它是指域名注册人的网上名 称,例如 baidu,ibm,yahoo,microsoft等。表示,说明该文件是用HTML 语言描述的。网站是由网页组成的,包含多个网页页面,具有独立域名、独立存放空间的内容集合,这些内容可能是网页,也可能是程序或其他文件。
2024-07-08 10:39:29
1870
原创 Firewalld防火墙规则
开启 NAT 转发之后,只要本机可以上网,不论是单网卡还是多网卡,局域网内的其他机器可以将默认网关设置为已开启 NAT 转发的服务器 IP ,即可实现上网。是指操作系统提供给应用程序运行的环境,应用程序在用户态运行,不能直接访问硬件,必须通过系统调用等方式访问操作系统提供的服务。外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。
2024-07-05 14:55:51
344
原创 Shell 编程之免交互
expect 接收命令执行后的输出,然后和期望字符串匹配,若匹配成功则执行相应的 send 向进程发送字符串,用于模拟用户的输入。单一分支用于简单的用户交互,当监控命令的标准输出满足 expect 指定的字符串时, 向标准输入发送 send 指定的字符串。EOF 标记之间的两行是输入的密码和确认密码,两行内容必须保持一致,否则密 码设置不成功。expect 命令用来判断上次输出结果里是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回,只能捕捉由spawn 启动的进程的输出。
2024-06-28 10:31:40
1030
原创 Shell编程之正则表达式与文本处理器
egrep 命令是一个搜索文件获得模式,使用该命令可以搜 索文件中的任意字符串和符号,也可以搜索一个或多个文件的字符串, 一个提示符可以是单个字符、 一个字符串、 一个字或一个句子。此 时执行以下命令即可同时查找到“shirt” 与“short” 这两个字符串,其中“[”中无论有几个字符,都仅代表一个字符,也就是说“[io]”表示匹配“”或者“0”。在上面的示例中, 查询“the”字符串时出现了很多包含“the”的行,如果想要查询以"the”字符串为行首的行,则可以通过“A”元字符来实现。
2024-06-26 08:53:33
1015
原创 Shell 编程之条件语句
整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,如是否大于、等于、小于第二个数。文件测试指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、可写、可执行等。与单分支、双分支if 语句相比,多分支if 语句的结构能够根据多个互斥的条件分别执行 不同的操作,实际上等同于嵌套使用的 if语句。:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)。对于双分支的选择结构,要求针对“条件成立”“条件不成立”两种情况分别执行不同的操作。
2024-06-21 17:39:33
902
原创 Shell编程规范与变量
预定义变量是由Bash 程序预先定义好的一类特殊变量,用户只能使用预定义变量,而 不能创建新的预定义变量,也不能直接为预定义变量赋值。Linux系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。在等号“=”后边直接指定变量内容是为变量赋值的最基本方法,除此之外,还有一些特殊的赋值操作,可以更灵活地为变量赋值,以便适用于各种复杂的管理任务。
2024-06-21 10:54:33
399
原创 PXE 高效批量网络装机
如果需要安装软件包,可以根据需将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg 文件中,只需要复 制 %packages 到 %end 部分即可,在%packages 到 %end 之间,包含以@开头的软件包列 表,将不需要的软件名删除,剩下的就是系统会自动安装的软件包。选择“Kickstart配置程序”窗口的“文件”→ “保存”命令,指定目标文件夹、文件名,将配置好的应答参数保存为文本文件 ,如/rootks.cfg。在“分区信息”界面中,需正确规划硬盘分区方案。
2024-06-19 17:30:16
923
原创 远程访问及控制
整个过程包括四步,首先要在SSH 客户以zhangsan 用户身份 创建密钥对,并且要将创建的公钥文件上传至 SSH 服务器端,然后要将公钥信息导入服务器端的目标用户lisi的公钥数据库,最后以服务器端用户lisi的身份登录验证。使用 scp 命令时,除 了必须指定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入验 证口令即可。经过“客户端创建密钥对”、“将公钥上传至服务器”、“在服务器中导入公钥文本”与“在客户端使用密钥对验证”四个步骤, SSH 密钥对验证体系已经构建完成。
2024-06-18 11:49:59
705
原创 DNS 域名解析服务
文件中的“@ ”符号表示当前的 DNS 区 域 名 , 相 当 于“bdqn.com .”或 “admin.bdqn.com.”, 表示域管理员的电子邮箱地址(由于“@”符号已有其他含义,因此将电 子邮件地址中的“@ ”用“.”代替)。SOA 记录中的更新序列号用来同步主、从服务器的区域数 据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。常见的几种类型如下。
2024-06-14 17:26:53
354
原创 DHCP 原理与配置
host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固 定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的IP 地址相同,以确保服务的稳定性。动态分配是当DHCP客户机第一次从DHCP服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个IP 地址,供其他客户机使用。在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN 的客户机也能从 DHCP服务器获取IP地址,
2024-06-12 09:28:17
858
原创 Linux网络设置
对于无法响应的结点,连接状态将显示为“*”。添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标 网段时只需简单地使用“default” 表示即可,无须再使用“-net” 选项指明网段地址。BOOTPROTO: 设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。过“route add”操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw”选项指定下一跳路由器的IP 地址。
2024-06-11 10:41:55
261
原创 Linux 文件系统 与日志分析
这种由多个扇区组成的"块",是文件存取的最小单位。文件数据存储在“块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。删除一个文件,实际上并不清除 inode 节点和 block 的数据,只是在这个文件的父目录 里面的 block 中,删除这个文件的名字。不正常的日志记录,如日志残缺不全,或者是诸如 wtmp 这样的日志文件无故缺少了中间的记录文件。软链接就是再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件 的文件名。
2024-06-09 14:50:39
984
3
原创 系统安全及应用
在不安全的网络环境中,为了降低密码被猜出或被暴力破解的风险,用户应养成定期更 改密码的习惯,避免长期使用同一个密码。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。PAM(Pluggable Authentication Modules), 是 Linux 系统可插拔认证模块,是一种高效而且灵活便利的用户级别的认证方式,它也是当前 Linux 服务器普遍使用的认证方式。否则认为目标端口并未开放。
2024-06-06 16:58:55
752
1
原创 进程和计划管理
设置一次性计划任务时,在 at 命令行中依次指定计划执行任务的时间、日期作为参数 (若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间),确认后将进 入带“at> ”提示符的任务编辑界面,每行设置一条执行命令,可以依次设置多条语句,最后Ctrl+D 组合键提交任务。除了“*”以外,还可以使用“-”(减号)、“,”(逗号)、“/”(斜杠)与数字构成表达式来表示较复杂的时间关系。系统任务(Tasks)信息:total,总进程数;逗号“,”:可以表示一个间隔的不连续范围,如“3,4,6,8 ”。
2024-06-05 11:50:11
871
原创 引导过程与服务控制
在引导Linux 操作系统的过程中,“/sbin/init”是内核第一个加载的程序,因此init进程对应的 PID号总是为1。linux16: 指定内核文件所在的位置,内核加载时权限为只读“ro”,并通过“root=”指定根分区的设备文件位置。initrd16: 指定启动内核所使用的临时系统镜像文件所在的位置。status (查看状态):查看指定的系统服务的运行状态及相关信息。stop (停止):终止指定的系统服务程序,关闭相应的功能。tart (启动):运行指定的系统服务程序,实现服务功能。
2024-06-03 19:58:45
315
原创 RAID磁盘阵列介绍
mdadm -vDs > /etc/mdadm.conf mdadm -S /dev/md0 停止RAID mdadm -A /dev/md0 开启RAID mdadm /dev/md0 -f /dev/sde1 指定某个硬盘失效 mdadm /dev/md0 -r /dev/sde1 移除某个硬盘 mdadm /dev/md0 -a /dev/sde1 添加指定硬盘。使用N(N>=3)块磁盘组成阵列,一份数据产生N-1个条带,同时还有1分校验数据,共N份数据在N块盘上循环均衡存储。
2024-06-03 11:04:51
420
原创 磁盘管理与文件系统
EXT4:第4代扩展文件系统,用于存放文件和目录数据的分区,是 Linux系统中默认 使用的文件系统 ( CentOS 7默认使用XFS )EXT4 是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。在Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。
2024-05-29 16:54:09
743
原创 安装及管理程序
RPM软件包:这种软件包文件的扩展名为“rpm”,只能在使用 RPM(RPM Package Manager,RPM软件包管理器)机制的Linux操作系统中安装,如 RHEL、Fedora、CentOS 等。应用程序命令的执行文件大多比较小,通常放置在/bin和/sbin目录中。RPM 软件包管理器通过建立统一的文件数据库,对在Linux 操作系统中安装、卸载、升级的各种.rpm 软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行。
2024-05-27 10:56:01
466
原创 目录和文件管理
Linux目录结构Linux操作系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点根目录,Linux操作系统中只有一个根目录,而Windows 操作系统中每个分区都有一个根目录,这点需要加以区别。Linux操作系统在定位文件或目录位置时,使用斜杠“P进行分隔(区别于Windows操作系统中的反斜杠“Y”)。整个树形目录结构中,使用独立的一个“/”表示根目录,根目录是Linux操作文件系统的起点,其所在的分区称为根分区。在根目录下,Linux操作系
2024-05-23 11:09:23
558
原创 Linux常用命令
Ø -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h 选项后将显示为 KB、MB 等单位。此选项需要结合-l 选项一起使用。Ø -h:以更人性化的方式(默认以 KB 计数,但不显示单位)显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位。Ø -A:与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。Ø -a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
2024-05-22 11:10:50
414
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人