自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL主从复制(异步与半同步复制)

主从复制原理:将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态。过程:从库开启一个I/O线程,向主库请求Binlog日志。主节点开启一个binlog dump线程,检查自己的二进制日志,并发送给从节点;从库将接收到的数据保存到中继日志(Relay log)中,另外开启一个SQL线程,把Relay中的操作在自身机器上执行一遍优点:作为备用数据库,并且不影响业务可做读写分离,一般是一个写库,一个或多个读库,分布在不同的服务器上,充分发挥服务器和数据库的性能,但要保证数据的一致性

2020-12-27 17:05:24 377

原创 kubernetes资源监控(一)

1.k8s容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:CPU 的单位是核心数,内存的单位是字节。一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和0.1个CP

2020-12-10 14:42:05 383

原创 利用Nginx+tomcat实现memcached的资源接管

nginx+tomcat安装并启动tomcat工具tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/localcd /usr/localrpm -ivh jdk-8u121-linux-x64.rpm 安装jdk包ln -s apache-tomcat-7.0.37/ tomcatcd tomcat/bin./startup.sh该服务默认开启的是8080端口,可以访问测试,默认会访问他的测试页面修改nginx配置文件vim /usr/local

2020-11-10 14:45:32 187

原创 memcached缓存架构优化

安装memcache工具包yum install memcached -ysystemctl start memcached安装memcache源码包tar zxf memcache-4.0.5.2.tar.gz这时切换至源码包没有configure执行文件需要执行phpize执行之前需安装autoconfyum install autoconf -ycd memcache-4.0.5.2phpize./configure --enable-memcachemake &&a

2020-11-05 16:02:12 151

原创 Php源码安装以及使用phpMyadmin软件使得Nginx+Php+Mysql三者联系起来

安装php包解压tar zxf php-7.4.12.tar.bz21建立nginx用户useradd -s /sbin/nologin nginx1安装./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysqli –with-pdo-mysql –enable-mysqlnd –with-openssl –with-zlib –with-curl –e

2020-11-05 11:49:47 254

原创 Mysql源码安装

Mysql源码安装解压安装包tar zxf mysql-boost-5.7.31.tar.gzcd mysql-5.7.31安装cmake命令yum install cmake -y安装参数cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装目录 -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/my

2020-11-03 17:01:42 197 1

原创 Linux企业实战-----用haproxy实现负载均衡(2)动静分离、读写分离、keepalived+haproxy高可用、pacemaker+corosync+haproxy高可用

用haproxy实现动静分离server4:yum install -y phpcd /var/www/html/lsvim index.phpcat index.php <?php phpinfo() ?>vim /etc/httpd/conf/httpd.conf (端口改回80)systemctl restart httpdserver3:mkdir /var/www/html/images#下载一个图片至images目录,并改名为redhat.jpgs

2020-11-03 14:12:03 182

原创 Linux企业实战-----用haproxy实现负载均衡

Haproxy基础知识1.haproxy简介(1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件;适用于负载大的web站点,这些站点通常又需要会话保持或七层处理。它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上(2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接;事件驱动

2020-10-29 16:49:04 271 2

原创 Linux企业实战-----通过nginx实现反向代理负载均衡+nginx的虚拟主机

通过nginx实现反向代理负载均衡 cd /root/nginx-1.19.1/auto/cc vim gcc cd /root/nginx-1.19.1/src/core/ vim nginx.h 隐藏版本 cd /usr/local/nginx/sbin ./nginx cd /usr/local/nginx/logs ls 启动nginx后查找其pid文件位置 l

2020-10-27 16:19:33 158

原创 Linux企业实战-----nginx简介+源码编译安装

什么是nginxNginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等优势,并且依靠

2020-10-27 14:30:30 199

原创 Linux企业实战-----LVS+keepalived负载均衡集群

用LVS实现负载均衡实现步骤:#若在虚拟环境中需执行此步骤创建两个新的虚拟机,VMWARE可忽略此步骤 真实主机: cd /var/lib/libvirt/images/ ls qemu-img create -f qcow2 -b rhel7.6.qcow2 server3 qemu-img create -f qcow2 -b rhel7.6.qcow2 server4server1: pcs cluster disable -

2020-10-27 11:53:53 1182 2

原创 linux企业实战-----LVS+pacemaker高可用集群搭建

环境搭建由于rhel8在企业中尚未普及,所以企业部分我们需要安装rhel7.6的虚拟机完成项目。此实验中我们需要三台虚拟机:宿主机home:172.25.19.10server1:172.25.19.1server2:172.25.19.2虚拟机的封装1.主机名称修改[root@localhost ~]$ hostnamectl set-hostname home[root@localhost ~]$ hostnamehome2.网络文件配置[root@localhost netw

2020-10-26 21:11:32 1357 2

原创 Python面向对象编程三大特性

对象和类类(class):是现实或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起对象(object):是具有类型的变量,类和对象是面向对象编程技术中的基本的概念类是创建实例的摸版对象是一个一个具体的实例例如:运行:封装特性面向对象的三大特性是指:封装,继承和多态封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容所以在使用面向对象封装特性时,需要:1:将内容封装到某处2:通过对象调用被封装的内容通过对象调用被封装的内容:对象.属性名

2020-10-15 17:33:56 206

原创 Python中的异常处理

什么是异常Error(错误):是系统中的错误,程序员是不能改变和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误建议让程序终止Exception(异常):表示程序可以处理的异常,可以捕获并且恢复,遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不是应该随意终止程序常见的异常IndentatioEerror:缩进错误Keyboardlnterrupt:Ctrl+C被按下UnboundLocalError:有同名的全局变量异常处理机制Pythob的异常机制主要依赖try,ex

2020-10-13 19:00:16 261

原创 Python中的模块与包

模块模块就是工具包,要想使用这个工具包中的工具(比如函数)就要导入这个模块模块是非常简单的Python文件,单个Python文件就是一个模块,两个模块就是两个Python文件模块的导入import 模块名1,模块名2import 模块名.函数名from 模块名 import 函数名/变量名import 长模块名 as 短模块名from 模块名 as import *问题1为什么必须加上模块名调用呢?import 模块名.函数名因为可能存在这样一种情况:在多个模块含有相同名称的函数,如

2020-10-13 17:38:23 157

原创 Python高级特性

生成式列表生成式列表生成式就是一个用来生成列表的特定语法形式的表达式。是Python提供的一种生成列表的简洁形式,可以快速生成一个新的列表字典生成式字典生成式就是一个用来生成字典的特定语法形式的表达式集合生成式快速生成集合实例:生成器在Python中一遍循环一遍计算的机制称为生成器生成器的作用在性能限制需要用到,比如读取一个10G的文件,如果一次性将文件内容放到内存中处理的话,内存可能会溢出,但使用生成器把读写交叉处理进行,比如使用readline和readlines就可以在循环读取

2020-10-13 11:34:21 121

原创 Python中文件的操作

打开文件在python代码中open命令可以打开一个已经存在的文件,或者创建一个不存在的文件(默认参数为’r’)当使用r参数打开文件,表示只是读取文件,文件必须存在当使用w参数打开文件,表示可以对文件有写权限,文件不存在时会创建文件,文件存在时会清空里边数据并且将自定义数据写入w+参数:w参数和r参数结合当使用a参数打开文件,表示可以对文件有写权限,文件不存在时会创建文件,文件存在时会在文件末尾追加自定义数据a+参数:a参数和r参数结合b参数:一般与r,w,a参数配合使用,主要用途为打开二进制

2020-10-10 18:05:36 158

原创 Python中的函数(定义、调用、形参、实参、必选参数、默认参数、可变参数,关键字参数)

1.函数的定义与调用1.定义函数#定义最大值函数def max_num(x:int,y:int)->int: #此处的x、y为形参 #调用函数函数名(形参),调用函数时的参数,实参。一般实参要和形参一一对应 #形参是形式参数,可以任意更改 max = x if x > y else y return max#print(help(max_num))#创建一个空函数def login(username,password): p

2020-09-28 22:06:47 851

原创 python中的集合与字典

1.集合的定义集合(set)是一个无序的不重复元素序列,多应用于去重。案例:1) 集合案例>>> s={1,4,4,6,6,7,8}>>> print(s,type(s)){1, 4, 6, 7, 8} <class 'set'>2) 定义空集合>>> s = {}>>> type(s)<class 'dict'> #错误方法:s = {} , 字典不是集合>>&gt

2020-09-28 21:52:04 322

原创 Python中三大流程控制语句

1.单分支语句(只含一个条件) #判断当前用户是否为root name = input("Name:") if name == "root": print("当前是root用户")2.双分支语句(对一个条件满足或不满足分别执行输出) #判断输入的年龄是否成年 age = int(input("Age:")) if age >=18: print("adult") else: print("not

2020-09-28 16:36:53 603

原创 Python中的变量、运算符及输入输出

Python中的变量什么是变量变量是内存中的一个地址,用一个固定的字符串表示这个地址,这个字符串就是变量,对象赋值实际上是对象的引用变量的命名变量由字母,数字,下划线组成,不能以数字开头Pyhton中,变量定义时不需要指定类型,当需要使用变量时必须给这个变量赋值运算符python支持的五种基本数字类型float(浮点数)complex(复数)int(有符号整数)long(长整数)bool(布尔值)算术运算符:+, - , * , / , ** , % , //其中代表乘法,/代.

2020-09-25 15:01:41 233

原创 Python课程导学

什么是编程语言程序可以看作对一系列动作执行过程的描述计算机程序执行的整个过程:计算机按照我们的命令去做动作,我们用一种特殊的语言对计算机说一个动作,他就会去执行,这个过程就可以视作编程,编程时所用的语言就是编程语言编程语言分类机器语言计算机只能识别0和1所以最早的编程语言是机器语言,这种语言极其不方便,很难实现一些复杂操作汇编语言汇编语言通过简单的英语单词来编程,这种语言虽然比机器语言方便很多,但是他的可移植性很差,往往从一个系统移动到另外一个系统就不能使用高级语言高级语言主要分为Jav.

2020-09-24 22:45:45 175

原创 Ansible中的执行控制

##一.循环###循环迭代任务##1.简单循环#loop: ##赋值列表 - value1 - value2 - ... {{item}} ##迭代变量名称实例---- name: playbook test hosts: 172.25.6.1 tasks: - name: test file: name: /mnt/{{item}} state: touch loop:

2020-09-23 15:25:40 342

原创 Ansible中的变量与加密

变量命名只能包含数字,下划线,字母只能用下划线或字母开头变量级别全局:从命令行或配置文件中设定的play:在play和相关结构中设定的主机:由清单,事实或注册的任务变量优先级:狭窄范围与广域范围变量设定和使用方式在playbook中直接定义变量编写playbookvim user.yml在这里插入图片描述在文件中定义变量定义变量vim userlistvim user.yml在这里插入图片描述设定主机变量和清单变量在定义主机变量和清单变量时使用vim inven

2020-09-18 10:02:03 125

原创 ansible中playbook的使用

一、playbookplaybook是使用YAML语言进行编写类似于shell脚本,是用于ansible的配置、部署、管理的剧本,剧本的拓展名通常为.yml。playbook的基础使用命令 功能-u 用于ssh所连接的用户名-k ssh登录认证的密码-s sudo获取root用户权限-U sudo到对应用户-K sudo用户密码-T ssh连接超时,默认是10秒-C 在加上该命令后,进行playbook执行任务时不会真正执行,而是进行模拟执行,判断剧本是否有语法错误-i 指定hosts

2020-09-17 11:20:07 168

原创 ansible中的常用模块

###########test setting##############ssh key crypt node{1…3} root,westos#id_rsa ----> ansible -----> lee,root#sudo node{1…3} westos ALL=(ALL) NOPASSWD: ALL#vim test.sh#!/bin/bash#!/bin/bashecho “####################node1################

2020-09-17 11:04:07 371

原创 Ansible的安装及部署

1.Ansible对于企业运维的重大意义ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible特点 1 无终端只需在主控节点部署ansible环境,是基于ssh实现管理的 2 模块化管理工具,有大量常规运维操作模块,可实现日常绝大部分操作 3 支持API及自定义模块,可通过Python轻松扩展 4 通过Playb

2020-09-11 09:29:12 185 1

原创 shell:数据库备份脚本+自动搭建论坛

数据库备份脚本1.执行db_dump.sh westos(数据库密码)2.脚本执行后会备份数据库中的所有库到/mnt/mysqldump目录中3.备份文件名称为 “库名称.sql”当此文件存在时报错并询问动作:输入“S”跳过备份,当输入“B"时备份“库名称.sql”文件为 “库名称_backup.sql”,当输入“O”时,覆盖源文件。#!/bin/bashECHO(){ echo -e "\033[$1m$2\033[0m"}[ -n "$1" ] ||{ ECHO 31 "Please

2020-09-10 17:11:56 149

原创 脚本练习

1.判断/tmp/run目录是否存在,如果不存在就建立,如果存在就删除目录里所有文件2.输入一个路径,判断路径是否存在,而且输出是文件还是目录,如果是链接文件,还得输出是有效的连接还是无效的连接3.交互模式要求输入一个ip,然后脚本判断这个IP对应的主机是否能ping通,输出结果类似于: Server 10.1.1.20 is Down! 最后要求把结果邮件到本地管理员root@localhost mail01@localhost4.判断用户输入的字符串,如果是"hello",则显示"wo

2020-09-10 13:39:01 762

原创 Shell中的循环判断语句(3)case语句,内附练习

case语句1.特点:case语句为多重匹配语句;如果匹配成功,执行相匹配的命令2.语句结构:case var in pattern 1) command 1 ;; pattern 2) command 2 ;; *) command 3 ;; esac练习1:用case语句编写

2020-09-10 10:18:28 318

原创 企业中DNS的部署

关于dns的名词解释DNS:domain name service(域名解析服务)关于客户端/etc/resolv.conf dns指向文件host www.baidu.com 地址解析命令dig www.baidu.com 地址详细解析信息命令A记录 IP地址叫做域名的Addres记录SOA

2020-09-09 16:01:22 314

原创 Linux中的设备基本管理

设备名称识别/dev/sda1 s 代表sata串口硬盘 d 表示disk a就是one表示第一个 1 表示第一个硬盘的第一个分区fdisk -l 查看系统中真实存在的设备lsblk 查看设备使用情况blkid

2020-09-09 15:00:02 385

原创 Shell中的循环判断语句(2)while语句、until语句

while语句1.特点:条件为真就进入循环;条件为假就退出循环2.语法结构:while 表达式do command...done入门案例:计算1-50偶数和until语句1.特点 : 和 while 刚好相反,只要不满足条件就一直循环 ( 屡败屡战 )2.语句结构:until expression do commanddone入门案例:计算1-50偶数和实战脚本练习1:编写一脚本,30秒同步一次系统时间。若同步失败,则进行邮件报警;若

2020-09-09 14:56:31 775

原创 Shell中的循环判断语句(1)for语句

for语句的格式for (exp) #判断条件,只要满足就执行循环,不满足则跳出do statement #循环内容 done #结束循环 实例:计算1-100内的奇数和实战脚本练习1:通过for循环计算阶乘练习2:for循环批量新建用户...

2020-09-09 13:38:22 623

原创 Shell中的流程控制语句(if),内附超全脚本练习

脚本练习练习1:编写脚本判断当前用户是否为root。如果是root,输出“the user is root”;不是则输出“the user is not root”练习2:编写脚本判断脚本后输入的ip能否ping通练习3:编写脚本判断脚本后输入的进程是否存在练习4:编写脚本判断脚本后输入的软件是否安装,若未安装则安装。练习5:判断当前发行版本号是否为6,次版本号是否大于等于2...

2020-09-09 11:28:26 198

原创 Shell的基础脚本练习合集

练习1 显示ip和主机名称创建一个脚本ip_show.sh,使得执行此脚本可显示当前ip和主机名称练习2 显示主机名称+ip+登录用户创建一个脚本host_messages.sh,使得执行此脚本可显示当前主机名称、ip、和登陆主机的用户练习3 清空日志创建一个脚本clear_log.sh,使得执行此脚本可清空日志练习4 用户建立创建一个脚本create_user.sh,执行此脚本可使脚本后文件username中的所有用户被建立练习5 用户控制(建立+删除)创建一个脚本userct

2020-09-08 17:30:31 181

原创 Shell中的变量(定义变量、变量的转译与声明、命令的别名设定、环境变量更改、脚本中的传参)

变量的定义1.什么是变量变量就是内存一片区域的地址2.变量存在的意义命令无法操作一直变化的目标用一串固定的字符来表示不固定的目标可以解决此问题Shell中定义变量的方法环境级别export a=1在环境关闭后变量会失效在第一个shell中 export a=1,此时可以生效在新环境(第二个shell中)查看时,变量定义失效用户级别 仅对设置的用户生效vim ~/.bash_profileexport a=1vim ~/.bash_profilesource ~/.ba

2020-09-08 16:10:46 197

原创 Ansible的安装及部署

1.Ansible对于企业运维的重大意义ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible特点 1 无终端只需在主控节点部署ansible环境,是基于ssh实现管理的 2 模块化管理工具,有大量常规运维操作模块,可实现日常绝大部分操作 3 支持API及自定义模块,可通过Python轻松扩展 4 通过Playb

2020-09-08 13:57:40 201 1

原创 Linux中的火墙策略优化(iptables+firewalld)

单网卡主机(内网) 172.25.254.10双网卡主机(外网) 172.25.254.20火墙切换方式在rhel8中默认的火墙是firewalldfirewalld -----> iptablesdnf install iptables-services -ysystemctl stop firewalldsystemctl disable firewalldsystemctl mask firewalldsystemctl unmask iptables

2020-09-03 16:00:08 238

原创 shell 脚本中的常用命令(diff、patch、cut、sort、uniq、tr、&&与||、test)

diff和patchdiff通常比较文件的内容,patch常用来打补丁diff的输出信息: [num1,num2] [ a | c | d ] [num3,num4] num1,num2 第一个文件中的行 a 添加 c 更改 d 删除 < 第一个文件中的内容 &gt

2020-08-30 14:45:21 437

空空如也

空空如也

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

TA关注的人

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