自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nginx负载均衡四层和七层

nginx负载均衡正向代理:一般是架设在客户端这边,主要用途为代替客户端去访问某些网络资源客户端知道自己要访问的目标服务器的IP,并且会让正向代理服务器代替自己去访问,目标服务器不会知道客户端的IP,只会知道代理服务器的IP,所以对客户端进行了一定保护反向代理:一般架设在服务端这边,主要用途是代替用用服务器接收外界的访问请求在反向代理中,客户端无法获得应用服务器的IP,可以对应用服务器进行一定的保护,而应用服务器是可以知道客户端的访问IP的。正向代理的作用:突破访问限制:突破自身IP的访问限制,

2020-09-26 16:23:17 1811

原创 nginx实现keepalived高可用

nginx实现keepalived高可用keepalived是一个服务器级别的高可用工具,当服务器停止,或者网络中断不能发送心跳包时,将会实现vip漂移,如果只是某一个服务器停止,就希望进行VIP漂移的话,keepalived自身是不能监控服务运行状态的,需要配合额外的监控脚本来完成keepalived配置故障案例说明1、由于keepalived自身并不能实现对服务或软件运行情况的检测,于是我们使用keepalived的vrrp_script脚本模块并且编写nginx运行状态的监控脚本,配合使用来监控

2020-09-26 16:15:40 242

原创 lnmp简单部署

lnmp架构简单部署systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i ‘7 s/enforcing/disabled/’ /etc/selinux/configsed -n ‘7p’ /etc/selinux/configmkdir /media/cdromumount /dev/sr0mount /dev/sr0 /media/cdromcd /etc/yum.r*mkdir amv C* a

2020-09-23 15:33:44 192

原创 linux基础服务FTP

FTP:文件传输协议FTP服务作用:可以用于文件的共享存储,以及文件的传输(上传、下载)FTP默认重要端口:21:用于建立命令连接20:用于传输数据文件FTP数据传输方式(主动模式、被动模式)主被动模式是针对FTP服务器而言,并且是针对数据传输连接而言主动模式(默认):客户机通过命令连接通道给服务器发送port命令,表名自己开放了N+1端口,你来找我建立连接,于是服务端会从自己的20端口向客户端的N+1端口发起TCP三次握手,建立数据连接被动模式:客户机通过命令连接通道给服务器发送PAS

2021-12-08 10:13:59 641

原创 2021-10-01 REDIS全网最超级详细

redis 编译安装版本redis-6.0.6编译wget http://download.redis.io/releases/redis-6.0.6.tar.gztar -xvf redis-6.0.6.tar.gz -C /usr/srcmake出现报错:^server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist);

2021-10-01 20:15:07 1635

原创 nginx缓存优化

nginx缓存优化缓存加速:在一个网站的架构当中,适当的部署缓存服务,可以大大提升整个网站的访问速度一般情况下容易造成网站响应速度慢的原因:1、由于服务器硬件资源使用量过高,而造成的响应速度慢2、由程序自身,因为访问量过大等原因造成的响应速度慢,如php解析器进程数量过少,导致很多请求不能及时被处理,或者tomcat并发连接过高,内存使用严重,都有可能使网站响应速度慢3、数据库对数据的操作速度过慢,而造成网页响应速度慢,通过数据库的慢查询日志,对执行速度过慢的语句进行优化,如果发现语句方面无法做

2020-10-12 22:22:12 923

原创 Redis sentinel哨兵集群

Redis sentinel哨兵集群sentinel(sen/te/nou)redis哨兵集群作用:可以实现类似mysql的mha的相关操作,实时监控redis各个数据库的运行情况,并且在主库停止运行时,可以实现自动的故障转移,是实现redis高可用的基础实现过程:1、哨兵节点会定期监控整个redis数据节点运行情况2、当发现主节点宕机时,哨兵之间会通过选举,选出一个领导节点来进行故障转移操作3、在从节点列表中选出一个节点作为新的主节点,方法如下:(1)过滤:“不健康”(主观下线、断线)、在

2020-10-12 22:20:29 193 1

原创 redis Session会话共享

redis Session会话共享redis会话共享:会话(session /sei/shen):是当前动态网站开发过程中的一个必要功能,用于保留客户对网站的操作状态的记录,从而实现网站的登录、添加购物车等交互式功能会话的存储方式:1、本地硬盘存储2、数据库存储为什么会需要会话:http协议自身是无状态协议,是不会记录对网站的操作状态,但后续因为动态网站的出现,为了能够给用户提供便利以及更好服务,从而使用会话的功能,让用户可以在刷新网站后,之前对网站的操作不被丢失cookie:也是用于保存访

2020-10-12 22:19:17 241 1

原创 Redis数据库主从复制

Redis数据库主从复制redis常用的三种架构模式:1、主从模式2、哨兵模式3、集群模式redis主从复制的过程:1、保存主节点信息2、建立连接3、ping命令检测4、登录认证5、同步数据6、命令持续复制redis同步数据的两种模式:1、全量复制:主库一次性发全部数据给从库,对网络及主机性能的开销较大2、部分复制:一般为网络闪断等原因造成临时性的数据同步中断,恢复时,如果条件允许,即可使用部分复制,减小了资源的开销部分复制所需要的三个要素:1、主从节点各自的偏移量*2、主

2020-10-12 22:17:05 111 1

原创 Redis数据库持久化

Redis数据库持久化redis持久化:RDB(半持久化):当达成某种写入条件,或者手动执行持久化命令时,才会进行持久化,RDB持久化类似于快照,将当前数据定格,以二进制格式保存到硬盘当中的持久化文件里,实时性不高RDB持久化的工作流程:进行RDB持久化时,主进程会fork出一个子进程,通过子进程来完成数据的持久化操作,持久化时,数据会先写入临时文件,完全写入后,再覆盖旧的持久化文件。子进程进行持久化时,并不会对父进程处理请求造成影响。所以RDB持久化的方式对redis的性能干扰很小。AOF(全持

2020-10-12 22:14:58 78

原创 Redis高性能数据库

Redis高性能数据库redis:本质上是一个非关系型数据库,采用键值的方式记录数据,由于其独特的运行模式和数据存储模式,在作用上通常可以用来当做关系型数据库的缓存来使用,从而提高数据查询效率redis最大特点:运行速度很快原因:1、redis使用C语言开发,和操作系统的兼容性更强,运行效率更高2、使用单线程的工作模式,节省了线程切换过程造成的资源耗费3、使用epoll事件驱动型IO模型,解决了单线程中造成数据请求阻塞的问题4、完全工作在内存中,所有的数据来源,全部都在内存当中redis的其

2020-10-12 22:13:53 138 1

原创 5第五章:shell编程实战

5第五章:shell编程实战shell脚本的构建思路:1、确定脚本的功能2、通过功能来思考这个功能的相关方法(找到关键命令)3、直接将关键命令累加写入到脚本中,然后思考是否会出现特殊情况干扰脚本的执行4、针对特殊情况,选择合适的流程控制语句,进行脚本功能的丰富5、对写完的脚本进行测试,根据测试的反馈结果进行脚本的优化6、整个脚本全部完成后,可以对相应的命令语句进行中文注释,方便以后的查看命令补充:tee:配合echo命令可以即回显信息,又可以将echo内容追加到文本中选项:-a:表示追加

2020-10-06 18:20:21 115

原创 4第四章:Shell编程之sed与awk

4第四章:Shell编程之sed与awk正则表达式分为:基础正则表达式扩展正则表达式基础正则表达式:常见的转义字符用法:例:echo -e “abc\nbcd”扩展正则表达式:默认可以直接使用扩展正则表达式的命令:awk如果需要sed和grep使用扩展正则表达式,则需要加额外选项:sed -rgrep -E 或者egrep示例:sed命令:格式:sed [选项] ‘(模式)(动作)’文件名常用选项:-e:可以在一个sed命令执行多个编辑命令-n:取

2020-10-06 18:19:32 137

原创 3第三章:Shell编程之循环语句

3第三章:Shell编程之循环语句for循环语句格式:for 变量名 in 取值列表do命令序列done例:for i in 192.168.100.{100…200}doping -c 2 -i 0.1 -w 1 $i &> /dev/nullif [ $? -eq 0 ]thenecho “host $i is up” >> /root/up.txtelseecho “host $i is down” >> /root/down.

2020-10-06 18:18:37 100

原创 2第二章:Shell编程之条件语句判断

2第二章:Shell编程之条件语句判断1、条件判断格式:[ 条件表达式] //注意:条件表达式与中括号之间必须隔开(1)文件测试:-d :(directory)表示测试是否为目录-e (exist):表示测试文件或目录是否存在-f(file):表示测试是否为文件-r(read):测试当前用户是否可读-w(write):测试当前用户是否可写-x(excute):测试当前用户是否可执行-s:表示测试文件是否为空,非0时为真,如果文件有内容,$?判断时为0-nt(ne

2020-10-06 18:17:57 161

原创 第一章:Shell编程规范与变量

1第一章:Shell编程规范与变量Shell脚本脚本编写规范:#!/bin/bash //声明脚本使用的解释器名称#开发人额远#生产日期 //#开头的表示注释信息,可以和命令语句配合使用,用于注明命令语句ls /rootecho 123 //命令语句,脚本正真会实行的内容执行方法:注意脚本执行之前,需要增加可执行权限chomd +x {脚本名称}1、以绝对路径执行脚本 /{路径加脚本名称}2、以相对路径执行脚本 ./{脚本名称}3、bash {脚本名称} 或者sh

2020-10-06 18:17:02 69

原创 zabbix监控系统

zabbix监控系统zabbix监控系统:是一个分布式的C语言编写高性能开源监控工具分为server端和agent端server端负责整个agent发回的数据,进行分析,保存与现实agent需要装在每一个监控节点,根据监控项的设置可以进行监控数据的收集zabbix在程序架构上,收集数据采用的是C/S架构,展示数据采用的是B/S架构zabbix的监控模式:主被动模式(针对客户端而言)被动模式(默认模式):1、首先server端会向agent端建立连接2、发送需要的监控项信息给agent3

2020-09-30 14:59:22 345

原创 使用Haproxy搭建Web群集

Haproxy可以实现动静分离的负载均衡,可根据动静态不同的访问请求,将访问请求分配给不同的服务器,而自身只做调度器的功能Haproxy可以实现七层负载均衡以及四层负载均衡,只是在流量调度的协议不同,七层使用HTTP协议调度,四层使用TCP协议调度在企业中可作为有限替代产品,Haproxy整体的并发量很高替代顺序:1、LVS2、Haproxy3、nginxHaproxy健康检测机制:直接使用get请求方法,请求后端的网页,当后端可以发回网页则判断后端节点是存活的Haproxy的常用功能:后

2020-09-30 14:57:48 72 1

原创 Git版本控制系统

Git版本控制系统GIT:代码版本管理工具作用:主要用来对开发的代码进行版本的控制与管理git中的重要概念:工作区:从别的主机克隆来的目录就是工作区,进行代码编程时,需要将代码保存到这个目录中,这么目录也就是工作区当中,才能让git对该文件进行版本的控制暂存区:临时存放代码的区域,将代码提交到暂存区后,可以实现对代码内容修改的跟踪,添加到暂存区的文件,可以比较工作区和暂存区的修改差异版本库:可以通过提交命令,将暂存区中的文件提交到版本库,成为一个新的版本,来永久存储git管理的是修改:当修改

2020-09-30 14:54:33 91

原创 ansible批量操作主机命令

ansible批量操作主机命令工作流程:获取服务器以后1、制作RAID存储(RAID5)2、安装操作系统U启PXE光盘3、服务环境的部署手动自动(脚本)4、程序发布手动:自动:灰度发布:(1)从调度器中删除一小部分真实节点的连接信息(2)对这些主机进行日常维护,以及新程序的发布(3)发布完成后重新添加到调度器中5、批量处理ansible(2012,python)saltstack6、部署监控zabbix将YUM安装软件时的软件包保存到本地vim /etc/yum

2020-09-30 14:52:44 503

转载 Python之路,Day6 - 面向对象学习

Python之路,Day6 - 面向对象学习本节内容:面向对象编程介绍为什么要用面向对象进行开发?面向对象的特性:封装、继承、多态类、方法、引子你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢?你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色View Code上面两个方法相当于造了两

2020-09-30 14:50:41 83

转载 Python 之路 Day5 - 常用模块学习

Python 之路 Day5 - 常用模块学习本节大纲:模块介绍time &datetime模块randomossysshutiljson & picleshelvexml处理yaml处理configparserhashlibsubprocesslogging模块re正则表达式模块,用一砣代码实现了某个功能的代码集合。类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,

2020-09-30 14:48:47 90

转载 Python之路,Day4 - Python基础4 (new版)

本节内容迭代器&生成器装饰器Json & pickle 数据序列化软件目录结构规范作业:ATM项目开发1.列表生成式,迭代器&生成器列表生成式孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式普通青年版复制代码a = [1,3,4,6,7,7,8,9,11]for index,i in enumerate(a):a[index] +=1print(a)

2020-09-28 21:52:36 98

转载 Python之路,Day3 - Python基础3

本节内容函数基本语法及特性参数与局部变量返回值嵌套函数4.递归5.匿名函数6.函数式编程介绍7.高阶函数8.内置函数温故知新集合主要作用:去重关系测试, 交集\差集\并集\反向(对称)差集View Code元组只读列表,只有count, index 2 个方法作用:如果一些数据不想被人修改, 可以存成元组,比如身份证列表3. 字典key-value对特性:无顺序去重查询速度快,比列表快多了比list占用内存多为什么会查询速度

2020-09-28 19:01:12 114

转载 Python之路,Day2 - Python基础2

本节内容列表、元组操作字符串操作字典操作集合操作文件操作字符编码与转码 列表、元组操作列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作定义列表1names = [‘Alex’,“Tenglan”,‘Eric’]通过下标访问列表中的元素,下标从0开始计数12345678names[0]‘Alex’names[2]‘Eric’names[-1]‘Eric’names[-2] #还可以倒着

2020-09-28 18:56:30 179

转载 Python之路,Day1 - Python基础1

Python之路,Day1 - Python基础1Python介绍发展史Python 2 or 3?安装Hello World程序变量用户输入模块初识.pyc是个什么鬼?数据类型初识数据运算表达式if ...else语句表达式for 循环break and continue 表达式while 循环作业需求一、 Python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发

2020-09-28 18:45:38 144

原创 群集 01-LVS 负载均衡群集

群集 01-LVS 负载均衡群集1、负载均衡集群(LB):由一个调度器,将访问流量按照事先设置好的规则分配给后端真正处理数据的节点,从而提升一个网站的最高的并发访问数量。(横向扩展)纵向扩展:提升单台主机的硬件配置,增强处理性能2、高可用集群(HA):通过对整个集群架构中的关键主机做备份,在关键主机出现问题的时候,可以通过转移IP地址(VIP漂移)到备用主机的方式,来保证整个网路服务的正常运行,提高整个网络架构的可用性及稳定性可用性:一个网络服务在它的整个运行期间,服务不可用的时间占用总时间越少,

2020-09-26 16:12:50 127 1

原创 Jenkins功能扩展 基于Jenkins+git发布java项目与回滚

Jenkins功能扩展基于Jenkins+git发布java项目与回滚1、配置Git仓库[root@git ~]# yum -y install git[root@git ~]# useradd git[root@git ~]# passwd git配置Jenkins主机免交互拉取git仓库[root@jenkins ~]# ssh-keygen #一路回车即可[root@jenkins ~]# ssh-copy-id [email protected]在git服务器创建

2020-09-26 14:46:22 234

原创 jenkins自动化集成部署

安装配置Jenkins基本环境配置[root@localhost ~]# hostname jenkins[root@localhost ~]# bash[root@jenkins ~]# systemctl stop firewalld[root@jenkins ~]# setenforce 0软件要求(JDK环境)[root@jenkins ~]# rpm -q java-1.8.0-openjdkjava-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_6

2020-09-25 20:36:44 278

空空如也

空空如也

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

TA关注的人

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