- 博客(57)
- 收藏
- 关注
原创 C06S02-Docker网络和资源限制
用户可以自定义创建一个虚拟网桥,指定网桥的网段范围。只有先创建了自定义网桥,才能够给容器分配指定的IP地址。配置自定义模式的基本流程如下。# 先自定义网络,设置IP范围docker network create --subnet=子网范围 --opt "com.docker.network.bridge.name"="网卡名称" 网络名称# 在创建并运行容器的同时,指定容器的IPdocker run -itd --network 网络名称 --ip 自定义IP地址 镜像名称[:镜像标签]
2025-02-06 16:19:33
926
原创 C06S01-Docker架设
微服务是一类不是以完整物理机为基础的服务软件,而是借助宿主机的性能,以小量的形式,单独部署应用。Docker是一个开源的应用容器引擎,基于go语言开发的,使用Apache的协议,是在linux里面运行的容器化的开源工具。是一种轻量级的虚拟机。Docker的图标是一个托着集装箱的鲸鱼,鲸鱼代表着宿主机,集装箱表示一个个独立的应用。每个应用之间都是互相隔离和独立的。Docker的设计宗旨:封装、发布、部署、运行、销毁。
2025-02-06 16:18:55
769
原创 C05S18-Redis高可用
主从复制是Redis实现哨兵模式和集群的基础,工作原理和MySQL主从复制相同,主节点负责写入,再将数据同步到从节点当中。主节点可写,而从节点只有读数据的权限。哨兵模式在主从模式基础之上,引入了故障切换功能。对主从复制架构中的每个节点进行监控,当主节点出现故障,会通过投票机制选择新的主节点。从节点会同步新主节点的数据。Redis的集群模式引入了哈希槽,集群有16384个哈希槽(0-16383)。每个节点会被平均分配哈希槽,因此在集群模式下,节点数量通常是3的倍数。
2025-02-06 16:18:18
521
原创 C05S17-Redis数据库架设
Redis数据库属于NoSQL,是非关系型数据库,除主流的关系型数据库外,都认为是非关系型数据库。非关系型数据库也有库,但是是系统自带的,不用创建、也不能创建。也无需建表,直接在系统预设的数据库中,以键值对的形式保存数据。Redis基于内存运行并支持持久化操作,只有在执行持久化操作之后,数据才会被保存在硬盘当中。系统自带持久化功能,会定时执行持久化操作。使用Redis要注意开启持久化功能,留意系统内存的使用率。
2025-01-05 19:10:32
525
原创 C05S16-MySQL高可用
MHA(Master High Availability)是一种实现基于主从复制实现MySQL故障切换的架构。当主节点发生故障时,会自动切换到一个从节点,然后将该从节点选为主节点。
2024-12-26 14:19:57
962
原创 C05S15-MySQL读写分离
读写分离是MySQL的一种架构策略,读数据和写数据的操作在不同的MySQL服务器上进行操作。实现读写分离的MySQL集群采取主从复制模式,主从复制模式中MySQL节点最少为3个,1个主节点,2个从节点。当写入数据时,主节点负责把数据写入数据库,然后把数据同步到从节点。
2024-12-24 15:44:07
1038
原创 C05S13-MySQL数据库备份与恢复
数据备份的主要目的是灾难恢复,也就是当数据库等出现故障导致数据丢失,能够通过备份恢复数据。数据备份可以分为物理备份和逻辑备份。物理备份,又称为冷备份,需要关闭数据库进行备份;逻辑备份,又称为热备份,不需要关闭数据库。数据备份的策略包括全量备份和增量备份,物理备份只能实现全量备份,而逻辑备份不仅支持全量备份,还支持增量备份。
2024-12-20 17:24:27
858
原创 C05S12-MySQL数据库事务
MySQL的InnoDB存储引擎拥有一种锁定机制,用于多用户操作数据库的时候,以保证数据的完整性和一致性。常见的锁定包括行锁和死锁。行锁也就是数据行的锁定,是多个事务同时操作同一行数据的情况。后一个事务要先等前一个事务提交完,然后才能够对该行数据进行操作。死锁是多个事务执行时互相争夺资源或数据等而出现的情况。死锁出现后,MySQL会自动选择一个事务执行,终止另一个外的事务,回滚该事务的操作。按照固定顺序对数据表和数据行进行操作。将大事务合理拆分为小事物。适当调整默认的隔离级别。
2024-12-20 17:23:49
485
原创 C05S11-MySQL数据库索引
索引是一个排序的列表,在这个列表当中存储了索引的值和这个值对应数据所在的物理地址。使用索引之后,查询数据表时,不用全表扫描来定位数据所在行,而是通过索引直接找到该行数据对应的物理地址,进而访问数据,以提高查询数据的速度。索引包括普通索引、主键索引、唯一索引、组合索引、全文索引等,主键索引和唯一索引在创建对应的约束后就会自动创建;组合索引是指根据多个字段一起创建索引;全文索引适用于文本的模糊查询。
2024-12-19 17:26:36
481
原创 C05S10-MySQL数据库基本操作
管理MySQL数据库的语句叫做SQL语句。SQL语句不区分大小写,建议使用大写。SQL语句可以是单行,也可以是多行,以分号结尾。库名、表名、列名和具体数据严格区分大小写。命名必须以字母开头,不要使用SQL语句的保留字段。尽量不要使用特殊字符。
2024-12-19 17:26:02
514
原创 C05S09-Keepalive服务架设
代理服务器和调度器都是单点模式,Keepalive是一种实现LVS调度器实现高可用集群的架设,以提高节点的冗余和容错。Keepalive是一种基于VRRP协议实现的调度器高可用方案,为了实现LVS的集群而设计开发,但是适用场景不仅局限于LVS。Keepalive会为后台服务做健康检查,服务不可用时,会自动移除IPVS的转发策略,服务恢复时会自动把策略重新加入IPVS中。
2024-12-19 17:25:11
1006
原创 C05S08-LVS负载均衡
LVS(Linux Virtual Server、Linux虚拟服务)是一种基于Linux系统集群的负载均衡方案,属于四层的负载均衡。
2024-12-17 21:24:33
999
原创 C05S07-Tomcat服务架设
Tomcat也是一个Web应用程序,具有三大核心功能。既可以作为Java代码为基础的动态页面,也可以处理和转发动态请求。但是Tomcat的并发能力差,适用于小项目。Tomcat的功能组件:Server:代表着整个Tomcat容器,包含着一个或者是多个Service组件。Service:对外提供服务的组件,一个Server可以有多个Service组件,包含多个Connector组件和一个Engine组件。Connector:接收客户端发送的请求。
2024-12-17 12:20:39
2100
原创 C05S06-Nginx的内置变量和代理
在配置文件的全局模块中新增一个stream模块,其中包括upstream模块和server模块。需要注意的是端口号不能够和http模块中的server模块设置的端口号相同,否则会产生端口占用,导致Nginx服务无法正常启动。反向代理包含四层代理和七层代理,代理服务端、隐藏服务端。代理是客户端和服务端的中间人,客户端通过代理访问服务端。从网络参考模型的角度来看,正向代理属于七层代理,反向代理包括四层代理和七层代理。七层反向代理使用upstream语法,配置在http模块中,进行请求中的HTTP处理。
2024-12-12 13:12:13
1081
原创 C05S05-Nginx的location模块
重定向就是请求网站之后会自动跳转到设定的目标网站。在Nginx中使用rewrite实现网页的重定向,使用nginx提供的全局变量或者自定义变量,结合正则表达式和标志位实现URL(URI)的重定向。
2024-12-11 16:57:22
551
原创 C05S04-Nginx的优化
本方法是通用方法,但只能隐藏版本号,无法因此服务名称。修改Nginx服务的配置文件nginx.conf,在http模块的全局部分写入以下内容。保存文件后,检查配置文件是否存在问题,并重启Nginx服务。
2024-12-10 19:12:21
582
原创 C05S03-LNMP架构的论坛架设
一、LNMP1. LNMP概述LNMP是一种常见的网站服务器架构,包括Linux、Nginx、MySQL、PHP。Linux:操作系统,提供系统环境。Nginx:网站的前端页面,将客户端请求转发给后端服务。PHP:处理网站的动态请求,与数据库交互。MySQL:存储和管理数据。二、论坛部署1. 部署Nginx服务关闭系统的防火墙开机自启动,以免其他网络无法访问相关程序。非必要步骤。ufw disable安装程序的依赖环境。apt -y install libpcre3-d
2024-12-10 19:08:23
641
原创 C05S02-Nginx服务架设
Nginx是一个高并发、轻量级的Web服务软件。性能稳定性高,系统资源消耗率低。对HTTP的高并发处理能力高,单台物理服务器支持3~5万的并发量。在实际使用中,Nginx的并发量通常设置在2万左右。静态页面处理能力Nginx的主要功能是处理静态的页面,包括文本、图片等。动态页面处理能力动态页面的处理能力较差,一般是将动态请求转发到中间件,然后通过中间件将请求转发到后端进行处理。中间件是位于客户端和服务器之间的软件,主要用于处理客户端发出的请求和服务器返回的响应,常见的有PHP、Python等。
2024-12-09 14:40:22
838
原创 C05S01-Web基础和HTTP协议
HTTP(超文本传输协议),是客户端和用户端之间进行数据传输和通信的一种规则和标准。HTTP协议属于应用层协议,基于传输层的TCP协议实现。客户端和服务端通过TCP协议进行连接的建立,应用层使用HTTP协议进行数据的传输,通过指定端口来进行通信。HTTP协议默认的端口是TCP/80,HTTPS(超文本传输安全协议)协议默认的端口是TCP/443。
2024-12-05 17:20:50
670
原创 C03S06-Linux网络之防火墙
网络地址转换(NAT)技术用于私有网络和公有网络之间的通信,将私有IP地址与公共IP地址进行转换。根据转换的IP地址不同,可以分为源网络地址转换(SNAT)和目的网络地址转换(DNAT)。firewalld是根据不同区域来进行配置不同的规则,类似硬件防火墙。trusted(信任区域):允许所有传入的数据包。public(公共区域):默认区域,允许与ssh或dhcpv6-client预定义服务匹配的数据包,其余均拒绝。external(外部区域):允许与ssh预定义服务匹配的传入数据包,其余均拒绝。
2024-12-03 15:45:02
829
原创 C04S09-Shell编程之免交互
交互是指用户和计算机双向通信,用户进入程序发出对应的命令,然后程序根据命令做出回应。免交互则是指通过I/O重定向的方式把命令提交给程序,程序运行命令。
2024-12-02 15:03:18
386
原创 C04S08-Shell编程之awk工具
awk是一个系统自带的、具有强大功能的处理工具,提供编程语言的功能,比如自定义变量、数学运算、字符串处理等,常见的用法是对文本文件进行按行取列。
2024-11-29 16:53:27
347
原创 C04S07-Shell编程之sed文本编辑器
sed是一种流处理的文本编辑器,和vi(vim)编辑器不同,sed是对命令按行进行操作处理,每次处理一行,直到处理完最后一行文件。sed命令可以分为两种模式:模式空间和写模式。工作原理是从输入流中读取一行内容并存储到临时的缓冲区(也叫做模式空间)中,默认情况下sed会在输入流所有行上执行操作,除非指定了执行的行。执行完成的内容会被传入输出流,但是所读取的文件内容不会改变,除非通过sed选项配置写模式保存文件的修改,或者通过重定向写入文件。
2024-11-28 16:45:33
609
原创 C04S06-Shell编程之正则表达式
正则表达式是用于匹配文本内容,而通配符是匹配文件名称。使用正则表达式的时候,避免出现歧义,最好将表达式写在引号当中。
2024-11-26 16:43:34
894
原创 C04S05-Shell编程之数组
冒泡排序是指将数组内的元素安装从大到小(或者从小到大)的顺序进行排列。相邻的两个元素会比较大小,如果顺序错误,就会交互两个数字的位置;这个步骤会反复执行,直到没有需要交换位置的元素为止。每遍历一次,最大或者最小的元素就会排到最后,然后剩下的元素再重新比较大小来排序,重复执行该过程,直到顺序排列正确。每遍历排序一次,就有一个元素排序完成,因此有n个元素的数组,需要n-1次遍历;每次需要进行排序的元素个数也逐次减1。
2024-11-25 14:54:05
272
原创 C04S03-Shell编程之循环语句
循环是指重复执行一段代码的结构,通过循环可以多次执行相同的代码。循环语句都会有一个循环条件(执行代码的条件)和循环体(执行的具体代码),循环语句一定会有一个终点,否则就是永远不会停止执行的死循环。在Shell脚本中,常见的循环有for循环、while循环和until循环。
2024-11-20 16:32:52
311
原创 C04S02-Shell编程之条件语句
先设定一个条件,判断设定是否满足(真或假,True或False),然后根据判断条件来执行一段特定的代码。如果判断为真,则状态码$?值为0;如果为假,则状态码$?值非0。
2024-11-19 17:04:01
341
原创 C04S01-Shell编程基础
变量是一个可以变化的量,就像一个容器,可以保存不同类型的数据。每个变量都有一个唯一的名称,也就是变量名。变量分为默认变量和自定义变量,默认变量是系统定义好的,一般情况是不能修改的;不要使用命令当作变量名称。不要使用中文。不要使用特殊符号开头,下划线除外。只能字母或者下划线开头,数字不能开头。尽量使用有具体含义的英文来定义变量,提高可读性。字符串(String)类型:通常用引号包围。整数(Int)类型:存储整数,没有小数部分。
2024-11-18 17:18:32
934
原创 C03S05-PLinux网络之自动装机
PXE( Preboot execution Environment,预启动执行环境 )是一种允许计算机通过网络安装操作系统的技术。PXE也是C/S架构,允许客户端通过网络从服务端下载引导镜像,并加载安装文件或整个操作系统。
2024-11-15 17:28:37
1768
1
原创 C03S04-Linux网络之软件仓库、SSH和NFS
SSH是一种安全通道协议,主要用于远程登录到服务器、执行远程命令、传输文件以及管理服务器等。默认的端口号是TCP/22。NFS(网络文件系统,Network File System)是一种件系统协议,它允许不同的计算机系统通过网络实现共享文件。NFS依赖RPC服务来实现文件的共享,RPC提供了一种机制,允许客户端通过网络请求服务端上的服务,而无需了解底层网络技术的细节。NFS正是通过这种机制实现文件的网络共享。
2024-11-14 15:37:51
1165
原创 C03S03-Linux网络之DNS服务器
执行下面的命令,安装BIND。BIND是一款广泛使用的DNS服务软件。安装完成后,会生成一个/etc/bind目录。db.empty:DNS区域文件的模板文件。named.conf:BIND服务的主配置文件,引入其他配置文件。named.conf.local:包含本地配置区域,如区域文件的位置、视图的定义等。named.conf.default-zones:包含BIND服务默认配置的区域,通常是一些根区域和常用的顶级域。named.conf.options:BIND服务的其他配置。
2024-11-13 17:18:47
606
原创 C03S02-Linux网络之DHCP和FTP
FTP(File Transfer Protocol、文件传输协议),它是一种用于在网络上进行文件传输的协议。FTP主要用于在客户端和服务器之间传输计算机文件,用户可以通过FTP协议进行文件的上传、下载和管理。和DHCP协议相同,也是C/S架构。FTP有两个端口:TCP/20端口和TCP/21端口;TCP/20端口由于传输数据,TCP/21端口由于控制连接。FTP数据连接的方式有两种,主动模式和被动模式。被动模式下,服务端打开一个端口等待客户端连接;而主动模式下,客户端打开一个端口等待服务端连接。
2024-11-12 17:14:50
403
原创 C03S01-Linux网络基本设置
Bond网卡,也称为网卡绑定或网卡捆绑,是一种将两个或更多的物理网卡绑定成一个虚拟网卡的技术。这样做的目的是为了实现本地网卡的冗余、带宽扩容和负载均衡,如果其中一个网卡故障,不会影响系统的网卡正常工作。Bond网卡支持七种不同的工作模式,下面是七种工作模式的介绍。Mode 0 :轮询模式。两个网卡都会使用,数据包按照轮询的方式依次发送到每个网卡,实现负载均衡。这种模式不提供冗余性。Mode 1:主备模式。具有冗余功能,只有一个工作,另一个备用。Mode 2 :均衡模式。
2024-11-11 17:28:53
822
原创 C02S12-Linux文件系统和日志管理
日志系统记录着操作系统或者是应用运行期间所有信息的文件,记录了一些必要信息、关键信息。判断系统或者是应用是否正常运行。记录故障信息,告诉用户故障产生的原因。日志主要有两大类,一类是系统日志,另一类是服务日志。操作系统的日志保存在/var/log目录下,CentOS系统的日志保存在/var/log/messages,Ubuntu系统的日志保存在/var/log/syslog。服务日志的保存位置有多种,一般是在/var/log/服务名称中;自定义日志目录,修改服务配置,可以自定义服务日志文件的存放位置。
2024-11-07 16:12:49
1038
原创 C02S11-Linux系统的安全与控制
在Systemd中,不同类型的Systemd对象被称为单元,Systemd单元类型是用于定义系统启动和服务管理的不同种类的配置文件。每种单元类型对应不同的系统资源或服务,并定义了如何启动和管理这些资源或服务。单元类型扩展名说明Service.service描述一个系统服务Socket.socket描述一个进程间通信的套接字Device.device描述一个内核识别的设备文件Mount.mount描述一个文件系统的挂载点Automount.automount。
2024-11-06 15:28:01
1134
原创 C02S10-Linux的进程和计划任务管理
子进程是由另一个进程(父进程)创建的进程,可以继承父进程的某些属性,如环境变量和文件描述符。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源(处理器与内存)使用占比、运行状态等。%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st:CPU详情。当一个进程创建一个新的进程时,它就成为了新进程的父进程。父进程可以控制子进程的创建、执行和终止,通常负责子进程的资源分配和同步。
2024-11-05 15:58:59
541
原创 C02S09-Linux磁盘管理之RAID磁盘阵列管理
RAID(独立磁盘冗余阵列)是一种将多个硬盘驱动器组合成一个逻辑单元的数据存储虚拟化技术。RAID的主要目的是提高数据的可靠性、容错能力和性能。它通过将数据分散存储在多个硬盘上,来实现数据的冗余备份和性能提升;当其中一个磁盘损坏,不会影响整个阵列的使用。
2024-11-04 16:29:09
704
原创 C02S08-Linux磁盘管理之LVM逻辑卷管理
LVM(Logical Volume Manager,逻辑卷管理器)是一种存储管理技术,允许用户将多个物理硬盘组合成一个或多个逻辑卷,从而提供更灵活的磁盘空间管理。在LVM中,逻辑卷是用户实际使用的存储空间,它是由物理卷组成的,物理卷是实际的硬盘或硬盘分区。虚拟:在计算机当中,虚拟是依托于真实的物理硬件来实现的。
2024-11-01 16:23:28
683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人