- 博客(45)
- 收藏
- 关注
原创 fastdfs分布式存储
fastdfs是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(上传、下载)等,解决了大容量存储和负载均衡的问题。fastds为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩展等机制,并注重高可用、高性能等指标,使用fastdfs很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2024-08-22 08:42:02 916
原创 GFS分布式
gluster是一个开源的分布式文件系统。在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数pb级别的存储容量。glusterfs主要由存储服务器、客户端和存储网关(可选,根据需要选择使用)组成GlusterFS 架构中最大的设计特点是没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。
2024-08-20 11:04:51 831 1
原创 rabbit消息队列
目前主流的几大消息队列有:RabitMQ、ActiveMQ、RocketMQ、Kafka、ZeroMQ等,也有一些小众的比如Beanstalk,当然我们之前学过的Redis也可以实现消息队列的功能。基于JAVA语言开发,其社区算是比较成熟,但是目前来说,ActiveMQ的性能比较差,而且版本迭代很慢,不推荐使用。阿里出品,Java系开源项目,源代码我们可以直接阅读,然后可以定制自己公司的MQ,并且RocketMQ有阿里巴巴的实际业务场景的实战考验。
2024-08-14 11:52:41 1258
原创 ZOOKEEPER+KAFKA消息队列群集
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ 中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
2024-08-13 16:44:47 1529
原创 Nosql之Redis集群模式
集群,即 Redis Cluster, 是Redis3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。
2024-08-12 17:31:04 1179
原创 05 Nginx+Tomcat负载均衡、动静分离群集案例
从客户的真实ip为起点,穿过多层级的proxy ,最终到达web 服务器,都会记录下来。所以在获取用户真实ip的时候,最后一个nginx配置此变量,用来获取客户端的ip地址。在nginx配置文件中用X-Real-IP保存了客户端的真是IP地址,在tomcat中就需要将X-Real-IP解析出来,显示到tomcat的日志中。把原http请求中的Header中的Host字段放到转发的请求报文里,后端的web服务器利用这个host判断请求的是哪个虚拟主机。6:修改tomcat的配置文件,并重启tomcat。
2024-08-08 11:55:05 697
原创 Keepalived双机热备
Keepalived 采用 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案-一由多台路由器组成一个热备组,通过共用的虚拟 IP地址对外提供服务;每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务,如图 3.1所示。
2024-08-07 10:01:55 1028
原创 LVS-DR集群的部署
LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一种工作模式。
2024-08-05 16:50:56 698
原创 LVS负载均衡群集
在各种互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求。除了使用价格昂贵的大型机、专用负载分流设备以外,企业还有另外一种选择来解决难题,那就是构建群集服务器-一通过整合多台服务器,使用LVS 来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务。
2024-08-05 10:12:26 1042
原创 MySQL主从复制与读写分离
MySQL的主从复制和 MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。(1)MySQL支持的复制类型①基于语句的复制。在主服务器上执行的 SQL语句,在从服务器上执行同样的语句。MySQL 默认采用基于语句的复制,效率比较高。②基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。③混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制。
2024-08-01 11:16:06 858
原创 Linux中,MySQL存储引擎
在数据库中保存的是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,最关注的一个问题是使用什么存储引擎。MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的、不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体性能。例如,如果在研究大量的临时数据,也许需要使用内存类存储引擎。内存存储引擎能够在内存中存储相关数据。
2024-07-30 16:57:17 1393
原创 在Linux中,MySQL备份与恢复
备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。之前已经学习过如何安装 MySQL,本小节将从生产运维的角度了解备份恢复的分类与方法。与完全备份不同,增量备份没有重复数据,备份量不大,时间短;但其复麻烦,需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。MySQL 没有提供直接的增量备份办法,可以通过 MySQL提供的二进制日志(binary logs)间接实现增量备份。
2024-07-27 12:05:59 1454
原创 Linux中,MySQL索引、事物与存储引擎
当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问 N/2 的数据块,N 是表示所占据的数据块数目。
2024-07-26 16:28:27 701
原创 Linux中,nginx网站服务
Nginx 与 Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与Apache 基本一致。概括为以下几个步骤。生成用户密码认证文件。修改主配置文件相对应目录,添加认证配置项。重启服务,访问测试。基于客户端的访问控制是通过客户端IP地址,决定是否允许对页面访问。Nginx 基于客户端的访问控制要比 Apache 简单,规则如下:deny IP/IP 段:拒绝某个|P 或IP 段的客户端访问。
2024-07-26 11:51:19 672
原创 Linux中,Apache配置与应用
Apache HTTP Server之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能模块化、可灵活定制等诸多优点,不仅性能稳定,在安全性方面的表现也十分出色。
2024-07-25 21:24:46 1688
原创 Linux中,MySQL数据库管理
MySQL是一套数据库管理系统,在每台MySQL服务器中,均支持运行多个数据库,每个数据库相当于一个容器,其中存放着许多表,如图2.1所示。下面分别介绍查看数据库、表结构的相关操作语句。1.查看当前服务器中的数据库SHOW DATABASES 语句:用于査看当前 MySQL 服务器中包含的数据库,MySQL 的每一条操作语句都是以分号(;)结束的。
2024-07-25 11:36:28 3051 1
原创 Linux中,MySQL数据库基础
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。可以有效地保持数据信息的一致性、完整性,降低数据冗余。可以满足应用的共享和安全方面的要求。数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。
2024-07-23 20:35:50 1086
原创 在Linux中,部署及优化Tomcat
自从 JSP 发布之后,推出了各式各样的 JSP 引擎。Apache Group 在完成 GNUJSP1.0的开发以后,开始考虑在 SUN 的 JSWDK 基础上开发一个可以直接提供 Web 服务的 JSP服务器,当然同时也支持 Servlet, 这样 Tomcat 就诞生了。Tomcat是 Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
2024-07-22 17:32:48 1100
原创 源码编译安装LAMP
Apache HTTP Server”是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务,在 Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运行在 Linux、UNIX、Windows 等多种操作系统平台中。Apache 服务器是针对之前出现的若干个 Web 服务器程序进行整合、完善后形成的软件,其名称来源于“A Patchy Server”,意思是“基于原有 Web 服务程序的代码进行修改(补丁)后形成的服务器程序”
2024-07-10 09:53:14 798
原创 Web基础与HTTP协议
网页是一个文件,他存放在世界某个角落的某一部计算机中,而这部计算机必须是与互联网相连的。网页经由网址(URL)来识别与存取,是互联网中的一“页"。网页可以包括如下内容:文本:文本是网页上最重要的信息载体与交流工具,网页中的主要信息一般都以文本形式为主。图像:图像元素在网页中具有提供信息并展示直观形象的作用。静态图像:在页面中可能是图片或矢量图形。图片格式通常为GIFJPEG 或 PNG 等:矢量格式通常为SVG 或Flash。动画图像:通常动画为 GIF 和 SVG。
2024-07-05 17:41:12 703
原创 Firewalld防火墙基础
firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便地组织和管理防火墙,firewald 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPV6 防火墙设置以及以太网桥,并且拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。
2024-07-03 17:51:59 1291
原创 Shell编程实战
KGC公司的阿里云账户内有两台空闲的ECS(服务器),现要使用这两台服务器搭建一组游戏区组,搭建之前有一些初始化及配置操作,要求写一个自动化部署的Shell脚本来完成这些任务,并通过 Shell 脚本来完成FTP的安装和配置。
2024-06-28 11:18:01 614
原创 Shell编程之免交互
expect 是建立在 tcl语言基础上的一个工具,它可以让一些需要交互的任务自动化地完成,相当于模拟了用户和命令行的交互操作。expect 是用来进行自动化控制和测试的工具。主要解决 shell 脚本中不可交互的问题。对于大规模的 Linux 运维很有帮助。在 Linux 运维和开发中,经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入 yes/no, password 等信息。为了模拟这种输入,可以使用 expect脚本。
2024-06-27 17:47:01 678
原创 Shell编程之正则表达式与文本处理器
正则表达式的定义及用途正则表达式又称正规表达式、常规表达式。在代码中常简写为regex、regexp 或 RE正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速査找、删除、替换某个特定字符串。正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
2024-06-25 17:22:26 2295
原创 Shell编程之条件语句
条件测试操作要使 Shel 脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。例如,当磁盘使用率超过 95%时,发送告警信息;当备份目录不存在时,能够自动创建;当源码编译程序时,若配置失败则不再继续安装等。Shel 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。使用专门的测试工具--test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。
2024-06-21 12:29:48 640
原创 Shell编程规范与变量
自定义变量是由系统用户自己定义的变量,只在用户自己的Shel 环境中有效,因此又称为本地变量。在编写 Shel 脚本程序时,通常会设置一些特定的自定义变量,以适应程序执行过程中的各种变化,满足不同的需要。Bash 中的变量操作相对比较简单,不像其他高级编程语言(如 C/C++、Java 等)那么复杂。在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋给初始值(内容)即可。定义变量的基本格式为"变量名=变量值”,等号两边没有空格。
2024-06-20 17:45:10 937
原创 Linux PXE高效批量装机
在大规模的 Linux 应用环境中,如 Web 群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。本章将学习基于 PXE(Preboot eXecution Environment,预启动执行环境)技术的网络装机方法,并结合Kickstart配置实现无人值守自动安装。上述服务器的批量部署方法,具备以下三个优点:规模化:同时装配多台服务器:自动化:安装系统、配置各种服务;
2024-06-19 17:23:26 1373
原创 Linux部署YUM仓库及NFS共享服务
在 CentOS7系统的安装光盘中,已针对软件目录 Packages 建立好repodata 数据,因此只要简单地将整个光盘中的内容通过 HTTP 或FTP 进行发布,就可以作为软件仓库了例如,可以创建ar/ftp/centos7 目录,并确保有足够的可用空间(本例中建议大于 5GB),然后将 Centos7光盘中的所有数据复制到该目录下。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(repodata),其中收集了目录下所有rpm 包的头部信息。
2024-06-18 01:00:00 1344
原创 Linux远程访问及控制
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent(远程登录)、RSH(Remote Shell,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。本节将以 OpenSSH 为例,介绍 Linux 服务器的远程管理及安全控制。
2024-06-17 17:05:15 889
原创 Linux FTP文件传输服务
ftp是一种文件传输协议:用来上传和下载,实现远程共享文件,和统一管理文件工作原理 : 用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。
2024-06-15 00:00:00 773
原创 Linux DNS域名解析
整个 Internet 大家庭中连接了数以亿计的服务器、个人主机,其中大部分的网站、邮件等服务器都使用了域名形式的地址,如www.google.com、mail.163.com 等。很显然这种地址形式要比使用 64.233.189.147、202.108.33.74的IP地址形式更加直观,且更容易被用户记住。DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。
2024-06-14 00:00:00 1486
原创 DHCP原理与配置
当局域网络中有大量的主机时,如果逐个为每一台主机手动设置 IP 地址、默认网关、DNS 服务器地址等网络参数,显然是一个费力也未必讨好的办法。而 DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)服务器的应用,正好可以解决这一问题。
2024-06-13 08:47:00 1628
原创 Linux网络设置
主机的网络接口卡(网卡)通常称为网络接口。在 Linux 操作系统中,使用 ifconfig 命令可以査看网络接口的地址配置信息(Interface Configuration)。
2024-06-10 17:30:32 1395 2
原创 Linux文件系统与日志分析
文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储 512字节。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是 4KB,即连续八个 sector 组成一个 block。文件数据存储在“块"中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。
2024-06-07 10:05:50 1035
原创 Linux系统安全及应用
用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linux系统中,提供了多中机制来确保用户账号的正当、安全使用。
2024-06-05 17:34:46 912
原创 Linux进程和计划任务管理
程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在 CPU 及内存中处于动态执行状态的计算机程序。在Linux操作系统中,每个程序启动后可以创建一个或多个进程。例如,提供 Web 服务的 httpd 程序,当有大量用户同时访问Web 页面时,htpd 程序可能会创建多个进程来提供服务。
2024-06-04 17:37:44 1672
原创 Linux引导过程与服务控制
Linux 操作系统的引导过程一般包括以下几个阶段:开机自检、MBR 引导、GRUB 菜单、加载 Linux 内核、init 进程初始化。1.开机自检服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU(Central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。2.MBR 引导。
2024-06-03 20:41:05 868
原创 Linux服务器硬件及raid配置
RAID 将一组硬盘连结起来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失,同时亦提供了比单个硬盘高的可用性及容错性。常见的组合方式有:RAIDO、RAID1、RAID5.RAID6、RAID01、RAID10,下面分别介绍它们的特性。
2024-06-03 09:21:43 506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人