自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nginx性能优化

1、首先我们需要了解性能优化要考虑哪些方面。2、然后我们需要了解性能优化必要用到的压力测试工具ab3、最后我们需要了解系统上有哪些注意和优化的点,以及nginx配置文件。

2022-08-12 18:00:05 1263

原创 代码发布方式

使用拷贝或者直接使用FTP方式进行发布代码,早期使用此种发布方式优点: 成本较低,发布速度快,简单粗暴缺点: 出现问题直接影响用户,回退代码较慢适用场景:1.开发测试场景2.不影响用户的业务3.初创型公司,流量较少,可以选择流量低谷期发布代码。...

2022-08-11 20:47:53 1143

原创 持续集成/持续部署(3)Jenkins(2)

什么是pipelineJenkins 2.0的精髓是Pipeline as Code,是帮助Jenkins实现CI到CD转变的重要角色。什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。...

2022-08-11 20:39:53 666

原创 持续集成/持续部署(2)Jenkins & SonarQube

使用rpm包安装或者使用yum -y install java修改启动jenkins的用户为root用户名 admin 密码 123。

2022-08-10 18:27:36 510

原创 持续集成/持续部署(1)Git & Gitlab

如果想把文件管理起来必须经过工作目录提交到暂存区然后在提交到本地仓库。

2022-08-09 18:36:58 462

原创 三剑客进阶

sed是面向流的行编辑器。所谓面向流,是指接受标准输入的输入,输出内容到标准输出上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下: sed将处理的行读入到一个临时缓存区中(也称为模式空间pattern space),sed中的命令依次执行,直到所有命令执行完毕,完成后把该行发送到屏幕上,清理pattern space中的内容;接着重复刚才的动作,读入下一行,直到文件处理结束。sed每处理完一行就将其从pattern space中删除,然后将下一行读入,进行处理和显示。......

2022-08-08 17:16:21 786

原创 Shell案例: jumpserver跳板机

Shell案例: jumpserver跳板机。

2022-08-05 18:07:01 461

原创 Shell(5)数组

普通数组 只能以数字作为索引关联数组 可以使用字符串作为索引数组类似变量 不同的是变量只能有一个值 数组中可以放多个值变量:   框子1=苹果   框子2=香蕉   框子3=茄子   name=ahui   ip=172.16.1.31数组:   框子1[小盒子1]=苹果   框子1[小盒子2]=香蕉   框子1[小盒子3]=茄子第一种定义方式: 通过索引方式定义查看数组 按照索引的方式查看查看数组中所有的值临时取消数组第二种定义数组方式: 直接定义默认索引从0开始

2022-08-05 18:03:06 335

原创 Shell(4)条件控制语句

echo "第一种书写方式" } function fun2 {echo "第二种书写方式" } function fun3() {echo "第三种书写方式" } fun1 # 调用函数 直接在函数的下面写函数名称即可调用 fun2fun3[ root@test ] # source fun.sh 第一种书写方式第二种书写方式。.........

2022-08-04 19:11:17 739

原创 Shell(3)条件控制语句

一个条件 一个结果。

2022-08-03 18:16:24 765

原创 Shell(2)数值运算与判断

1脚本的第一个参数$2脚本的第二个参数。

2022-08-02 16:36:58 786

原创 Shell(1)简介入门

命令解释器Linux操作系统默认的解释器是bash交互式和人交互人输入命令解释器解释返回结果给人非交互式执行shell脚本什么是Shell脚本命令的集合将可执行命令写入文本中(并且脚本中包含变量判断循环等语句)文本称为shell脚本Shell语法解释型语言脚本语言执行一次解释一次慢C语言编译型语言一次编译终身执行快用一个固定的值来表示任意不固定的值称为变量例如name=ahuiage=18变量的分类特点。.........

2022-08-01 20:42:43 440

原创 iptables防火墙

iptables是4表伍链4表filter表nat表raw表mangle表伍链INPUT实现共享上网端口转发nat功能在云服务器无法使用替代品叫NAT网关四表五链filterINPUT禁止IPiptables-IINPUT-s172.16.1.0/24-jDROP禁止目标端口iptables-IINPUT-s172.16.1.0/24-ptcp--dport80-jDROPNATSNAT。.........

2022-07-25 17:42:16 1298

原创 自动化运维工具Ansible(7)roles

roles不管是Ansible还是saltstack,我在写一键部署的时候,都不可能把所有的步骤全部写入到一个’剧本’文件当中,我们肯定需要把不同的工作模块,拆分开来,解耦,那么说到解耦,我们就需要用到roles官方推荐,因为roles的目录结构层次更加清晰。例如:我们之前推荐大家写一个base.yml里面写所有基础优化的项目,其实把所有东西摞进去也是很鸡肋的,不如我们把这些功能全部拆分开,谁需要使用,就调用即可。建议:每个roles最好只使用一个tasks这样方便我们去调用,能够很好的做到解耦。(SOA)

2022-07-10 20:37:31 487

原创 自动化运维工具Ansible(6)Jinja2模板

什么是jinja2模板jinja2是Python的全功能模板引擎Jinja2与Ansible啥关系Ansible通常会使用jinja2模板来修改被管理主机的配置文件等…在saltstack中同样会使用到jinja2如果在100台主机上安装nginx,每台nginx的端口都不一样,如何解决?Ansible如何使用Jinja2使用Ansible的jinja2模板也就是使用template模块,该模块和copy模块一样,都是讲文件复制到远端主机上去,但是区别在于,template模块可以获取到文件中的变量

2022-07-08 17:15:11 400

原创 自动化运维工具Ansible(5)流程控制

不管是shell还是各大编程语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。例如:1.我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。2.在nfs和rsync安装过程中,客户端服务器不需要推送配置文件,之前我们都是写多个play,会影响效率。3.我们在源码安装nginx的时候,执行第二遍就无法执行了,此时我们就可以进行判断是否安装过。根据不同的操作系统安装apache官方示例:还可以使用括号对条件进行分组也可以指定多条件

2022-07-08 15:49:36 271

原创 自动化运维工具Ansible(4)变量

变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果讲此值设置为变量,然后再在其他的playbook中调用,会方便许多。如此一来还方便维护,减少维护的成本。定义变量的方式1.通过命令行进行变量定义2.在play文件中进行变量定义3.通过Inventory主机信息文件中进行变量定义变量的优先级如果在定义变量时,变量冲突了在上述的三个地方分别设置了:1.命令行中:age=112.play文件中

2022-07-07 17:50:26 1048

原创 自动化运维工具Ansible(3)PlayBook

什么是PlayBookPlayBook即”剧本”,”兵书”之意,PlayBook是由以下部分组成的play: 定义的是主机的角色。(主角还是配角,找哪个明星)task: 定义的是具体执行的任务。(角色的台词和动作)playbook: 由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作,大腕每集拍什么)。简单理解为: 使用不同的模块完成一件事情在Ansible中”剧本文件”是以yml结尾的文件。在SaltStack中”剧本文件”是以sls结尾的文件。但是语法,使用

2022-07-05 19:51:58 281

原创 自动化运维工具Ansible(2)ad-hoc

什么是ad-hoc?ad-hoc简而言之就是“临时命令”,执行完即结束,并不会保存ad-hoc模式的使用场景比如在多台机器上查看某个进程是否启动,或拷贝指定文件到本地,等等ad-hoc模式的命令使用批量查看磁盘信息批量查看内存信息ad-hoc结果返回颜色绿色: 代表被管理端主机没有被修改黄色: 代表被管理端主机发现变更红色: 代表出现了故障,注意查看提示ad-hoc常用模块Ansible-doc帮助手册Ansible命令模块command默认模块, 只用于执行命令shell如果需

2022-07-04 20:14:07 1114

原创 自动化运维工具Ansible(1)基础

什么是Ansible?Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。同类型软件对比1.puppet 学习难,安装ruby环境难,没有远程执行功能2.ansible 轻量级,大规模环境下只通过ssh会很慢,串行的3.saltstack 一般选择salt会使用C/S结构的模式,salt-master和salt-minion,并行的,大规模批量操作的情况下,会比Ans

2022-07-04 19:30:00 261

原创 Tomcat 集群部署

环境准备​ 虚拟机是通过软件模拟出具有完整硬件系统的功能​ 为什么Java需要JVM虚拟机​ 早期C语言不支持跨平台,如果C语言想要在Windows Linux Mac上运行,需要进行分别编译,那么在Linux上有很多优秀的软件,如果需要在Windows上使用需要重新编译,移植性差而Java则不同,Java是可以跨平台,只需要将源码进行一次编译,能够在不同的操作系统运行JAVA是如何做到的?​ 它只需要在Windwos Linux系统上运行一个jvm,这样我们能将J

2022-07-01 14:01:55 2398

原创 Nginx(11)常见问题

在开始处理一个http请求时,nginx会取出header头中的Host变量,与nginx.conf中的每个server_name进行匹配,以此决定到底由哪一个server来处理这个请求,但nginx如何配置多个相同的server_name,会导致server_name出现优先级访问冲突。准备nginx对应的配置文件准备站点目录检查语法提示冲突,忽略并重启浏览器访问测试根据ip访问1.用户第一次访问,读取server1.conf配置返回结果2.此时将server1.conf修改为server4.

2022-06-30 12:18:05 1037

原创 Nginx(10)高可用-Keepalived

什么是高可用一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。高可用通常使用什么软件?硬件通常使用 F5软件通常使用 keepalivedkeepalived是如何实现高可用的?keepalived软件是基于VRRP协议实现的,VRRP虚拟路由冗余协议,主要用于解决单点故障问题VRRP是如何诞生的,原理又是什么?比如公司的网络是通过网关进行上网的,那么如果该路由器故障了,网关无法转发报文了,此时所有人都无法上网了,怎么办?通

2022-06-29 13:27:41 272

原创 Ningx(9)HTTPS

为什么需要使用HTTPS,因为HTTP不安全,当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡改数据报文信息,同时也避免网站传输时信息泄露。那么我们在实现https时,需要了解ssl协议,但我们现在使用的更多的是TLS加密协议。那么TLS是怎么保证明文消息被加密的呢?在OSI七层模型中,应用层是http协议,那么在应用层协议之下,我们的表示层,是ssl协议所发挥作用的一层,他通过(握手、交换秘钥、告警、加密)等方式,是应用层http协议

2022-06-28 14:37:08 436

原创 Nginx(8)Rewrite重写

什么是rewriteRewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程。Rewrite使用场景1、地址跳转,用户访问www.lzy.com这个URL是,将其定向至一个新的域名mobile.lzy.com2、协议跳转,用户通过http协议请求网站时,将其重新跳转至https协议方式3、伪静态,将动态页面显示为静态页面方式的一种技术,便于搜索引擎的录入,同时建上动态URL地址对外暴露过多的参数,提升更高的安全性。4、搜索引擎,SEO优化依赖于url路径,好

2022-06-27 12:42:28 216

原创 Nginx(7)动静分离

动静分离,通过中间件将动静分离和静态请求进行分离;通过中间件将动态请求和静态请求分离,可以建上不必要的请求消耗,同事能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下:动静分离只有好处:动静分离后,即使动态服务不可用,但静态资源不会受到影响。单台服务器实现动静分离多台服务器实现动静分离环境准备web01配置静态资源验证打开浏览器访问:http://pic.lzy.com/打开浏览器访问:http://pic.lzy.com/test.jpgweb02配置动态资源打开浏览器,

2022-06-24 20:52:20 205

原创 Nginx(6)四层负载均衡

四层负载均衡是基于传输层协议包来封装的(如:TCP/IP),那我们前面使用到的七层是指的应用层,他的组装在四层的基础之上,无论四层还是七层都是指的OSI网络模型。1、四层+七层来做负载均衡,四层可以保证七层的负载均衡的高可用性;如:nginx就无法保证自己的服务高可用,需要依赖LVS或者keepalive。2、如:tcp协议的负载均衡,有些请求是TCP协议的(mysql、ssh),或者说这些请求只需要使用四层进行端口的转发就可以了,所以使用四层负载均衡。1、四层负载均衡仅能转发TCP/IP协议、UDP协议

2022-06-24 14:28:25 356

原创 Nginx(5)七层负载均衡

为什么要使用负载均衡    当我们的Web服务器直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台Web服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现负载的分发。那么会大大提升系统的吞吐率、请求性能、高容灾。    往往我们接触的最多的是SLB(Server Load Balance)负载均衡,实现最多的也是SLB、那么SLB它的调度节点和服务节点通常是在一个地域里面。那么它在这个小的逻辑地域里面决定了他对部分服务的实时性、响应性是非常好的。 

2022-06-22 17:44:35 899

原创 Nginx(3)web架构

什么是LNMPLNMP是一套技术的组合,L=Linux、N=Nginx、M~=MySQL、P~=PHPLNMP架构是如何工作的首先Nginx服务是不能处理动态请求,那么当用户发起动态请求时, Nginx又是如何进行处理的。当用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回,如果是动态请求Nginx则通过fastcgi协议转交给后端的PHP程序处理,具体如下图所示Nginx与Fast-CGO详细工作流程1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Ng

2022-06-20 18:15:54 2201

原创 Nginx(2)常用基础模块

目录索引模块简述ngx_http_autoindex_module模块处理以斜杠字符(’/’)结尾的请求,并生成目录列表。当ngx_http_index_module模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module模块。配置Nginx默认是不允许列出整个目录浏览下载。配置示例:Nginx状态监控ngx_http_stub_status_module模块提供对基本状态信息的访问。默认情况下不构建此模块,应使用–with-http_stub_status_

2022-06-17 15:42:08 325

原创 Nginx(1)基础部分

nginx简述Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。开源: 直接获取源代码高性能: 支持海量并发可靠: 服务稳定我们为什么选择Nginx服务Nginx非常轻量功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装)代码模块化 (易读,便于二次开发,对于开发人员非常友好)互联网公司都选择Nginx1.Nginx技术成熟,具备的功能是企业最常使用而且最需要的2.适合当前主流架构趋势, 微服务、云架构、中间层3.统一技术栈, 降低维护成本

2022-06-15 13:49:12 808

原创 【笔记】HTTP协议:工作原理、访问网站分析、请求方法、相应、HTTP头部、访问流程、协议原理总结、相关术语

什么是超文本(HyperText)?    包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。HTML:由URL组成的网状的文本什么是URL?    URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。表示万维网上的唯一的地址。URL由协议、主机和端口(默认为80)以及文件名

2022-06-14 13:18:54 1447

原创 【笔记】SSH服务:基本概述、相关命令“ssh、scp、sftp”、验证方式、场景实践、安全优化

SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?1.提供远程连接服务器的服务2.对传输的数据进行加密那么除了SSH协议能提供远程连接服务,Telnet也能提供远程连接服务, 那么分别的区别是什么呢?ssh服务会对传输数据进行加密, 监听在本地22/tcp端口, ssh服务默认支持root用户登录telnet服务不对数据进行加密, 监听在本地23/tcp端口, Telnet默认不支持root用户登录1.安装telne

2022-06-13 13:43:04 2557

原创 Sersync 实时同步

什么是实时同步实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目录同步至远程服务器。为什么要实时同步保证数据的连续性, 减少人力维护成本,解决nfs单点故障实时同步工具选择sersync+RSYNC(√)、inotify+rsyncInotify是一个通知接口,用来监控文件系统的各种变化,如果文件存取,删除,移动。可以非常方便地实现文件异动告警,增量备份,并针对目录或文件的变化及时作出响应。rsync+inotify可以实触发式实时同步增量备份sersync是国人基于rsync

2022-06-10 19:28:10 902

原创 NFS共享存储:基本概述、应用场景、实现原理、服务安装、配置详解

    NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS为什么要使用共享存储?1.实现多台服务器之间数据共享2.实现多台服务器之间数据一致集群没有共享存储1.A用户上传图片经过负载均衡,负载均衡将上传请求调度至

2022-06-09 13:32:24 3833

原创 Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify

rsync是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。Rsync简介rsync英文称为remote synchronization,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,rsync还可以在本地主机的不同分区或目录

2022-06-07 16:19:58 1244

原创 企业集群架构概述:名词、演变、访问流程、服务器架构扩展、环境规划、基础环境准备

开车 —> 各种公路和高速路 —> 到达目的地 —> 酒店保安 —> 验证身份迎宾小姐姐 —> 接待工作服务员 —> 满足客人的需求(动态扩容)后厨厨师 —> 提供具体的菜品吧台 —> 存放烟酒备菜 —> 提前准备好(快)仓库 —> 存放杂物,或者存放重要的文件或手机经理 —> 管理保安、服务员、厨师等监控 —> 用来监控服务员,厨师等状态信息,用来时间回溯酒店后门 —> emmm… 不可描述1.用户通过浏览器输入oldboyedu.com->回车2.浏览器会发生一次跳转,分析URL

2022-06-06 18:16:52 214

原创 【笔记】IP地址详解、Linux网络及常用命令

IP地址格式IP地址组成: 32位二进制组成 点分十进制11111111 11111111 11111111 11111111 255.255.255.255二进制在线转换https://www.xiao84.com/tools/103105.html二进制转换十进制二进制 十进制00000001 ===== 100000010 ===== 200000100 ===== 400001000 ===== 800010000 ====== 1600100000 ==

2022-06-02 17:26:11 2268

原创 【笔记】网络层次结构:主机到主机层协议、 控制字段、TCP三次握手四次挥手、TCP协议的十一种状态集转换、因特网层协议介绍、网络接入层介绍

OSI七层模型传输层TCP: 传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。     特点:面向连接,可靠,传输效率低      应用场景:web浏览器,电子邮件,文件传输程序UDP: 用户数据报协议,属于无连接的传输协议      特点:无连接、不可靠、快速传输      应用场景:域名系统(DNS),视频流(直播),IP语音(VOIP)举例理解点外卖: 外卖员第一种方式: 亲自送到我们手上 不会丢 速度慢 TCP连接第二种方式: 放到前

2022-06-01 14:28:55 546

原创 【笔记】路由器:动态路由配置、交换机:vlan配置 & 网络层次结构:OSI7层模型 、TCP/IP模型(4层模型)、DNS解析过程

动态路由配置:动态路由协议 rip ospf eigrp isis bgp作用: 自动学习路由表信息 自动学习路径R1:Router>enableRouter#config tEnter configuration commands, one per line. End with CNTL/Z.Router(config)#int g0/0Router(config-if)#ip add 192.168.1.254 255.255.255.0Router(config-if)#no

2022-05-31 15:08:12 1021

空空如也

空空如也

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

TA关注的人

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