自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 redis数据库的介绍以及安装部署

借助nginx的upstream模块实现后端服务的负载均衡,如果后端服务采用的是会话的机制来识别客户端的身份,如果使用的调度算法是轮询算法的话,其中我们需要去做的就是实现后端服务的会话保持。第一种换调度算法,第二种在服务器的后端,设置一个会话的共享存储。【现在主流的方案就是给后端服务器设置一个redis数据库。一.redis数据库介绍Nosql 【nosql不是一款软件的名称,而是一类数据库软件的称呼。都是基于内存来读取数据的,】nosql not only sql 非关系型数据库。

2025-03-13 20:37:59 734

原创 tomcat多实例部署

第一种运行多个实例,不同的实例运行不同的业务,在业务访问量小的情况下,可以节省资源。第二中运行多个实例,不同的实例运行同一个业务,在业务访问量大的情况下,可以提高访问速度,实现负载均衡。如上图所示,此时把tomcat服务停止,

2025-03-12 09:41:14 461

原创 tomcat配置应用----server.xml文件具体配置

默认项目目录:tomcat安装目录/webapps目录如上图所示,在tomcat的项目目录下有很多子文件夹,这些子文件夹中都有一个项目首页。如上图所示,将来我们去使用IP加端口号的方式去访问tomcat的时候,默认是会使用ROOT这个目录下的网站首页给客户端响应。tomcat默认的项目目录是webapps一个项目目录下可以部署多个项目如上图所示,如果将来有新的Java项目,我们就把这个.war包放在webapps目录下,不需要我们去将这个a.war进行解压。

2025-03-11 22:03:20 857

原创 tomcat应用的作用以及安装,以及tomcat软件的开机自启动。

所以当Linux操作系统开机的时候,会先去执行tomcat软件的启动命令,随后再去执行脚本文件/etc/profile去加载java的相关环境变量。3.支持多实例的部署【在一台服务器上每新创建一个tomcat的实例都会启动一个tomcat的进程,在阿帕奇和nginx软件上不管是创建多少个虚拟主机,都是会有一个关于阿帕奇或者是nginx的进程。如上图所示,在这个脚本文件中的命令在机器开机的时候会自动执行这个文件中的内容。如上图所示,在tomcat的目录下有tomcat的一些命令,或者说一些脚本。

2025-03-11 18:16:14 951

原创 为php添加额外的功能模块

作用:php加速,给php添加缓存功能。如上图所示,首先需要到解压目录里面去运行phpize的这样一条命令,如上图所示,运行phpize的命令的作用就是生成这个configure配置工具。如上图所示,我们在这个模块的解压目录下,运行pipize工具,就可以看到configure配置工具的生成,随后我们在这个目录下去查看configure配置工具的帮助。可以看到有两个参数,是非常重要的,一个参数是--with-php-config=PATH【这个参数是配置php-config命令的路径】

2025-03-10 20:11:52 460

原创 lnmp平台

作用:解析php web应用程序现在主流的平台都是lnmp平台与lamp平台的不同之处:1.在lamp平台php是作为阿帕奇的功能模块的存在。阿帕奇通过CGI机制调用php模块来解析php代码。在lnmp平台上php是作为一个独立的应用程序,支持以fpm的方式安装部署php,有自己独立的配置文件,有自己独立的进程。比lamp平台使用php来解析php代码效率要高的多。在nginx和php结合的时候,使用的不是CGI机制,而是使用fastCGI机制来调用php软件,完成php动态页面的解析。

2025-03-10 19:31:48 752

原创 nginx管理操作

支持在不影响客户端访问的情况下进行升级。信号:USR2 启动新版本nginx的进程WINCH 平缓关闭旧的worker process如上图所示,这是nginx的版本信息nginx平滑升级的意思是支持在不影响客户端访问的情况下,进行软件版本的升级。常规软件升级重新安装,将旧版本的软件给覆盖掉。如上图所示,这是查看旧版本nginx的功能参数,如上图所示,当我们去安装新版本nginx的时候,千万不能运行make install 不然会把之前的目录数据全部覆盖掉。

2025-03-10 15:56:07 293

原创 nginx中的url地址重写

可以在nginx上进行配置,将客户端的访问请求进行修改,随后拿修改后的地址给客户端进行响应。如上图所示,这是使用url地址重写的两种应用场景。一种是https加密网站,nginx反向代理服务器可以对用户的url地址进行重写,加上https的前缀,一种是当公司的业务结构发生变化的时候,用户用之前的访问地址不能访问到之前想要访问的内容,这时候就可以使用nginx反向代理服务器的url地址重写功能,将用户的url地址进行重写。使得用户能够再次以之前的访问地址,访问到之前想要访问的内容。

2025-03-10 11:56:11 859

原创 nginx中upstream模块的使用。

作用:将多台web服务器定义成一个upstream组,实现web服务的负载均衡。后台的多个网站服务器,可以是多个不同的机器,也可以是多个不同的主机。第一点:nginx在接受到客户端的访问请求后,按照什么样的规则去转交访问请求,是交给web1还是交给web2还是交给web3如上图所示,轮询算法的含义就是将客户端的访问请求,依次交给web1和web2和web3这样的轮询算法导致每个web服务器大致处理的访问请求数都是相同的。

2025-03-09 15:58:29 907

原创 nginx反向代理功能

nginx在做反向代理的时候,会有一个默认行为,如果服务器地址后面不跟上明确的uri地址,那么就会默认把location后面的uri地址,写在服务器地址后面。如上图所示,这个的意思就是我要把/vedio的请求交给服务器地址的/vedio进行处理。如上图所示,我们要求把192.168.183.10的/test2请求交给192.168.183.11的首页进行处理,那么必须在机器地址后面加上左斜杠。如上图所示,当location中含有正则表达式的时候,服务器地址后面不能跟上任何的uri地址。

2025-03-09 13:42:23 1050

原创 虚拟主机认证功能

类型:1.基于客户端地址的认证2.基于用户的认证1.基于客户端地址的认证nginx是一款模块化软件,功能都是基于模块实现的。如上图所示,访问认证是使用的这个access_module模块。这个模块也给我们提供了一些指令,如上图所示,这两个指令分别是allow和deny如上图所示,是具体用法,无论是allow还是deny后面可以跟上具体的IP地址或者是网段地址,或者是all表示所有。不做任何配置的话,默认就是允许任何客户端访问。当客户端被拒绝访问的时候,就是403的错误,

2025-03-08 21:50:33 368

原创 nginx虚拟主机配置

如上图所示,这是url地址,第一部分是协议,第二部分是主机名,第三部分是这个客户端要访问机器上的哪个文件名。就是第三部分,也就是客户端要访问机器上的文件地址。如果能匹配到对应的uri地址,就会按照location中的配置去给客户端响应。如上图所示,这是一个location最简单的写法。location接收到客户端请求后使用html目录中的index.html首页给客户端响应。nginx使用服务器本地的文件给客户端响应如上图所示,这是左斜杠对应的是服务器的网页目录,数据目录。

2025-03-08 17:14:06 787

原创 nginx的安装以及相关的全局性配置

如上图所示,这是到nginx的官方网站,去download下载nginx的源码包。如上图所示,这是将nginx的1.18.0的版本复制链接,到虚拟机中使用wget下载。如上图所示,这是到虚拟机中去下载nginx需要的依赖软件。如上图所示,这是去下载nginx的源码包。如上图所示,将这个源码包进行解压缩的操作。如上图所示,这是去编译安装nginx之前要做的准备工作。这些临时目录可创建也可以不创建,如果不创建的话,那么也会在配置文件的目录下临时生成这些目录。

2025-03-08 10:24:03 497

原创 nginx的介绍

1.作用web服务器应用,服务器在同一时间所能承接的最大连接数要大于阿帕奇应用【并发连接数高于阿帕奇】高并发C10K,速度快,2.反向代理服务器如上图所示,客户首先访问nginx反向代理服务器,然后将访问请求再交给业务机器。1.此时利用的就是nginx的高并发,速度快的特点。通过nginx来接受客户端请求,可以增加同一时间的最大连接数,2.并且当客户端要访问业务机器的时候,根本不需要知道业务机器的IP地址等信息,只需要知道nginx服务器的IP地址就可以了,可以在一定程度上提高业务机器的安全性。

2025-03-07 11:53:03 728

原创 lamp平台的应用

网站:静态网站动态网站【php语言 .php结尾的文件】作用:运行php语言编写的动态网站应用lamp = Linux+Apache【负责解析静态资源】+MySQL【负责存储网站产生的数据】+PHP【负责解析动态资源】如上图所示,是lamp平台中三个组件之间的关联。阿帕奇会产生一个web进程,这个web进程可以接受,分析,客户端发送过来的请求,

2025-03-06 15:21:56 936

原创 MHA集群

MHA master high avavibility 主服务器高可用如上图所示,我们之前说过,如果在主从复制架构中主服务器出现故障,就需要我们将从服务器作为主服务器,等故障的主服务器修复好之后,再将修好的主服务器作为从服务器连接到主服务器中。此时我们进行这个操作的时候,会有一个时间间隔。MHA的作用就相当于是一个监控一样,MHA搭建好之后,就可以实时的监控主服务器的运行状态。

2025-03-04 18:04:18 613

原创 MySQL的多源复制

MySQL 5.7版本支持的。多个主服务器对应一个从服务器。作用:便于数据合并以及数据的统一备份。如上图所示,在多源复制中对于从服务器而言是通过通道的机制来区分不同的主服务器的。

2025-03-04 12:13:02 431

原创 基于GTID的主从复制

mysql从5.6版本开始支持的新特性,全局事务IDGTID构成:server_uuid + 事务ID【构成的一串随机数】从服务器连接主服务器,需要知道主服务器的二进制日志文件名,以及事件pos位置。

2025-03-03 20:34:21 684

原创 主从复制中的主从切换

当从服务器停止之后,主服务器上的数据在从服务器再次开启的时候,新的数据依然会记录到数据库当中。如上图所示,此时我们仍然需要去到从服务器中,首先使用远程连接用户连接主服务器,这里的master_log_file信息和master_log_pos信息,都需要我们到主服务器上的二进制日志中去查看。如上图所示,这表示的是,我作为从服务器已经记录到了主服务器02文件的451事件位置,在从服务器本地是使用的日志文件是08记录位置是732。如上图所示,这是在从服务器上停止数据库服务后在主服务器上发生的写操作。

2025-03-03 17:56:16 332

原创 在主从复制的基础之上配置Mycat实现读写分离

如上图所示,此时需要我们去核对,显示的Java版本和我们需要的java版本是否一致,如上图所示,此时显然不一致,此时的jdk可能是我们安装系统的时候,安装上的,与我们需要的Java版本不一致。测试的时候,我们可以去连接mycat,如果写操作真是主服务器执行的,那么写操作就会被复制到从服务器,如果写操作是从服务器执行的,那么写操作就不会被复制到主服务器,如上图所示,这么操作,是使得前端业务机器连接的是,mycat机器上的数据库,默认连接的是mycat机器上的3306端口。

2025-03-03 16:14:01 456

原创 主从复制架构介绍和主从复制配置案例

每一个数据库的业务都对应着一个前端的业务,主从复制架构的必要性?第一点是两个服务器如果有一台服务器出现故障,那么另一台服务器可以正常工作,以保障前端业务可以被正常访问,第二点是两个服务器可以共同去处理数据,提升处理数据的读写操作。无论是要避免单点故障还是说要提升数据库的数据读写效率。基本的要求是要保证所有数据库服务器上的数据要是一致的,要是相同的。这样就算挂掉任何一个服务器都不会影响我数据的正常读写操作。那么如何实现多台数据库服务器之间的数据同步和数据一致。专业上的名词就是主从复制.

2024-12-26 20:54:37 1059

原创 MySQL数据库备份,恢复

1.逻辑备份【针对MySQL】生成数据操作的SQL语句。从备份数据的速度来说,逻辑备份的速度要比物理备份的速度要快得多。备份出来的结果是一大堆的SQL语句。逻辑备份的结果就是一个普通的文本文件.【文本文件中保存的就是】如上图所示,这个sql文件就是一个逻辑备份的结果。这个sql文件是一个文本文件,其中记录的是一大堆的SQL语句。如上图所示,这个mysqldump这个工具就是MySQL数据库准备的一个逻辑备份工具。2.物理备份【类似于使用cp这样的工具】直接备份数据文件。

2024-12-17 16:15:44 1083

原创 源码编译安装MySQL

在5.7的版本的MySQL编译安装的时候,需要依赖C语言的库文件【boost】,如上图所示,如果你使用第一个MySQL的tar包,还需要去网上去下载boost即C语言的库文件,但是第二个tar包就既包含MySQL的源码包也包含这个C语言的boost库文件。规划:数据目录 /mysql/data 逻辑卷二进制日志 /mysql/log至少准备三块盘,一块盘是启动分区和根分区来使用,一块盘是数据目录来使用,一块盘是二进制日志来使用。

2024-12-12 20:07:03 1325

原创 三种MySQL日志详解

随后使用systemctl restart mysqld 使得配置文件的修改生效。如上图所示,这个MySQL的二进制日志,默认是保存在这个MySQL的数据目录即/var/lib/mysql中。如上图所示,二进制日志默认的名称就是文件名称+6位数字,【第一个日志叫做000001,第二个日志叫做000002以此类推】而且这个文件名称+index这个文件也是与二进制文件相关的文件,这是一个文本文件。如上图所示,这个文本文件中保存的是现有的二进制文件的名称。

2024-12-12 10:01:10 924

原创 MySQL数据库之索引详解

索引 index作用:加快数据查询速度注意:1.不适合在经常变动的数据上建立索引2.建立在合适的字段上【根据前端业务的业户行为进行分析】索引是创建在表的层面的,并且索引的创建是表的一个字段的数值,来创建索引的。数据中的搜索数据的默认行为是一条一条的搜索数据,而索引就是依据某一个字段的数值,为这个表创建了一个目录,当所有数据的数据可以根据这个表中的目录来所有需要的数据,在MySQL数据库中有这样一个默认行为,就是当你在创建一个表的时候,会默认在这个表的主键字段,创建一个索引。。。

2024-12-11 10:38:21 1013

原创 kubernetes核心对象

在集群中可以创建容器,数据卷,网络,服务,等各种操作。这是由于集群中给我们提供了对象/工具,来帮助我们完成各种各样的操作。K8s的组件主要运行在基础设施层,负责管理整个集群的状态和资源,确保集群的高可用性和稳定性。这些组件可以进一步分为控制平面组件和工作节点组件:K8s对象主要运行在应用层,用于定义和管理应用的部署、扩展和服务发现等。这些对象是用户与K8s交互的主要方式,通过创建、修改和删除对象,用户可以实现应用的自动化管理和运维。

2024-11-04 16:52:02 799

原创 kubernetes组件交互流程

当scheduler收到还有已经完成记录,但是还没有执行的操作的时候,scheduler会根据一定的算法找出一个node节点,假设选定的是node01节点,scheduler决定在这个node01上执行操作。选完工作节点是node01之后,scheduler会再次告诉apiserver,说我帮你选了一个工作节点是node01,数据库中已经记录,但是还未完成的操作,可以在工作节点node01上执行,其中主节点的scheduler会周期性得和apiserver进行通信,说你这边有没有需要执行的操作请求。

2024-11-03 15:43:04 319 1

原创 1.kubernetes作用及组件

由谷歌公司开源的应用,基于go语言编写简称k8s。

2024-11-03 13:06:40 719

原创 MySQL数据库之存储过程的创建与应用

存储过程 procedure。

2024-11-02 19:34:31 475

原创 MySQL的SQL语句之触发器的创建和应用

触发器 Trigger。

2024-10-29 23:31:25 985

原创 MySQL用户权限管理属于SQL语句中的DCL语句

语法:grant 权限,权限,on 库名,表名 to 用户名 [identified by '密码']MySQL5的版本,如果这个用户事先不存在,这个grant命令去给用户授权的时候,会将用户一起创建出来,连创建用户与授权一起完成,如果这个用户事先存在,这个密码的SQL语句就不要加了,否则就是给用户授权并且修改用户密码。如上图所示,这是给该用户授予可以把这个权限,授予给其他用户的一个操作。如上图所示,讲一些给userA加上这个选项之后,此时userA就拥有了将他自身的权限授权给其他用户能力。

2024-10-29 23:07:04 362

原创 awk工具的主要作用在显示数据上。

v 变量名称=值调用变量的时候,直接写变量名称就可以了。如上图所示,是使用awk自定义变量并使用变量的一个演示。如上图所示,BEGIN的意思是awk在真正读取文件内容之前做什么事情。即在真正读取文件内容之前打印输出字符串hello 并且读取输出变量name中的值。BEGIN{}这里的是awk工具中的一个特殊的模式,含义是在真正读取文件内容之前做什么操作。完整的应该是BEGIN{}{action}其中BEGIN{}含义是在真正读取文件内容之前做什么操作。

2024-10-23 00:00:30 1149

原创 SHELL函数之的使用

语法1:函数名称() {执行的操作执行的操作语法2:function 函数名称(){执行的操作执行的操作在shell中两种语法建议使用第一种语法去书写函数。

2024-10-20 20:10:14 159

原创 SHELL脚本之sed工具

在Linux操作系统中处理文本文件的三剑客即grep,sed,awksed中文名称叫做流编辑器,stream editor作用:修改文本内容,与vim编辑器作用一致。但是与vim编辑器不一致的是sed工具是非交互式工具。原理:默认情况下,sed是不会修改源文件的,所有的修改只是在内存中进行的。逐行修改sed会将文件内容逐行读入到内存(模式空间),在内存中文件内容进行修改,修改完毕后默认还会将内存所有的内容重定向到显示器上。

2024-10-20 17:11:00 941

原创 SHELL脚本之数组介绍

如上图所示,这是两种获取数组中全部元素的方法,如上图所示,在获取数组数据的时候,可以用循环的方法去获取数组中的所有数据。如上图所示,在数组中如何去获取数组中的单个数据。

2024-10-19 19:16:39 271

原创 expect工具

在写脚本的过程当中不可避免的需要去写交互式命令那么如何让交互式命令在脚本中自动执行?使用expect工具作用:捕获交互式的输出,自动执行交互式命令如上图所示,可以使用expect工具去捕获交互式命令的提示信息。然后让expect工具自动地在这个提示信息之后去填充我们准备好的一些数据。

2024-10-19 17:59:23 616

原创 SEHLL脚本之while循环语句和until循环

这个形式的while语法可以用for循环代替,这样更方便。如上图所示,是while循环的一个示例。

2024-10-19 15:19:10 570

原创 SHELL脚本之循环语句的for循环以及中断循环的语句

重复循环:1.循环的开始条件2.循环的操作3.循环的结束条件。

2024-10-18 18:27:18 932

原创 SHELL脚本之case条件判断

适用于某个变量拥有多种固定的不同的取值语法:case 变量 in值1)执行的操作;;值2)执行的操作;;值3)执行的操作;;*)执行的操作;;esac如上图所示,将来写值的时候,都要以)做为值的结束。当执行的操作写完后都要以英文双分号结束。案例:判断用户的输入,根据用户输入的内容不同显示不同的结果如上图所示,就是根据case语法的基本语法结构。如上图所示,在Linux操作系统中严格区分大小写。如上图所示,在case语法中一个 | 表示或者的意思。

2024-10-18 12:59:30 453

原创 SHELL脚本之条件判断——if语句

如上图所示,当执行脚本出现在我们电脑屏幕上的信息对于我们来说,并无用处的时候,为了节省系统资源,保持系统性能,可以使用重定向符号将出现的内容交给/dev/null即系统中的黑洞文件中。如上图所示,这个内容的脚本在我们第一次执行的时候肯定没有问题但是当第二次执行的时候,肯定就会报错了。为了让脚本的执行更加符合人工作的逻辑。所以要加上条件判断。

2024-10-17 17:36:22 3488

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除