- 博客(65)
- 收藏
- 关注
原创 SaltStack一键自动化部署高可用负载均衡集群
实验环境:server1和server4组成高可用和负载均衡集群;server2作为后端真实服务器提供httpd服务server3作为后端真实服务器提供nginx服务主机IP服务角色server1172.25.19.1haproxy,keepalivedmasterserver2172.25.19.2httpdminionserver317...
2019-06-21 20:17:50
416
原创 saltstack的JINJIA模块应用
[root@server1 salt]# pwd/srv/salt[root@server1 salt]# cd httpd/[root@server1 httpd]# vim service.sls [root@server1 httpd]# cat service.sls include: - httpd.install/etc/httpd/conf/httpd.conf:...
2019-06-15 23:27:36
202
原创 自动化管理工具Saltstack之Grains和Pillar
一、Grains工具:Saltstack里的Grains功能,讲的是minion端的静态变量,在master端通过Grains可以获得minion对应的变量值。1.打开server2的grains工具包[root@server2 ~]# cd /etc/salt/[root@server2 salt]# vim miniongrains: roles: - httpd[r...
2019-06-15 23:27:13
207
原创 SaltStack的安装部署
SaltStack简介:SaltStack是基于Python开发的一套C/S架构配置管理工具(服务器端称作Master,客户端称作Minion),它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。号称世界上最快的消息队列ZeroMQ使得SaltStack能快速在成千上万台机器上进行各种操作。Saltstack工作机制主要功能:Saltstack...
2019-06-15 23:26:53
345
原创 Docker容器技术之k8s集群搭建
一、知识剖析简介官方中文文档:https://www.kubernetes.org.cn/docsKubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容...
2019-06-15 23:26:08
1847
原创 Docker容器技术之swarm集群的搭建
docker三剑客:swarm mesos k8s一、知识剖析Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in go, docker_py, doc...
2019-06-15 23:25:51
245
原创 Docker容器技术之compose搭建负载均衡
一、知识剖析Docker ComposeDocker Compose 将所管理的容器分为三层,工程(project),服务(service)以及容器 (contaienr)。Docker Compose 运行的目录下的所有文件(docker-compose.yml, extends 文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定...
2019-06-15 23:25:34
192
原创 Docker容器技术之cgroup搭建
一、知识剖析1.什么是cgroupCgroups 是 control groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由 google 的工程师提出,后来被整合进 Linux内核。Cgroups 也是 LXC 为实现虚拟化所使用的资源管理手段,可以说没有cgroup...
2019-06-15 23:25:14
325
原创 Docker容器技术之网络管理
容器的四种网络模式bridge 桥接模式、host 模式、container 模式和 none 模式启动容器时可以使用 --net参数指定,默认是桥接模式。Bridge 桥接模式Bridge 桥接模式的实现步骤主要如下:(1) Docker Daemon 利用 veth pair 技术,在宿主机上创建两个虚拟网络接口设备,假设为veth0 和 veth1。而 veth pair 技...
2019-06-15 23:24:54
128
原创 Docker容器技术之Dockerfile的编写及镜像的优化
镜像的优化l 选择最精简的基础镜像l 减少镜像的层数l 清理镜像构建的中间产物l 注意优化网络请求l 尽量去用构建缓存l 使用多阶段构建镜像一、实例分析...
2019-06-15 23:24:30
150
原创 Docker容器技术之搭建本地免密仓库、私有仓库
一、什么是Docker 仓库?仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓...
2019-05-31 21:58:05
758
原创 Docker容器技术之从阿里云拉取镜像
镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。# docker search 查询镜像# docker pull 拉取镜像# docker push 推送镜像镜像默认可以从 docker hub 上下载,这是 docker 官方的公共仓...
2019-05-30 17:54:13
771
原创 linux中Docker的安装及简单应用
Docker简介Docker是一个用于开发、迁移、运行的开发平台。它使你能够将你的应用程序从基础架构中分离,从而可以快速交付。使用Docker,你可以以与管理应用程序相同的方式来管理这些基础架构。使用Docker的方法,进行快速开发,测试,并可以显著的减少编写代码和运行之间的时间延迟。一.docker的部署和安装准备安装包[root@server1 docker]# lscontaine...
2019-05-29 22:24:29
565
原创 redis数据库哨兵模式实现主从故障切换
主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。哨兵模式概述:哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。...
2019-05-25 00:14:23
623
原创 使用MHA实现MYSQL主从复制高可用
使用MHA实现MYSQL主从复制高可用MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行...
2019-05-25 00:13:47
313
原创 Mysql-proxy的读写分离
Mysql-proxy的读写分离Mysql-proxy简介:mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来...
2019-05-25 00:13:31
125
原创 Mysql的主从复制以及基于gtid的主从复制、半同步复制、组复制
Mysql的主从复制以及基于gtid的主从复制、半同步复制、组复制Mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证mysql数据库的可靠性。就要会一些提高可靠性的技术。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据提高可靠性,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力。本文我们将会详细给大家介绍在Redhat7环...
2019-05-25 00:13:16
128
原创 Nginx的动态模块(gzip压缩、图片压缩、ssl加密重定向、realip获取真实IP)添加、防盗链
环境server1:172.25.75.1 Nginx服务器客户端: 172.25.75.250一、添加动态模块这三个模块都需要重新编译nginx,我们直接将三个模块所需要的依赖包,及重新编译所加的模块一同编译,避免多次编译[root@server1 ~]# yum install openssl-devel gd-devel-2.0.35-26.el7.x86_64.rpm -yo...
2019-05-25 00:13:00
293
原创 ngnix的启动脚本
nginx启动脚本我们可以安装一个httpd服务,在httpd服务的启动脚本加以修改,制作nginx的启动脚本[root@server1 ~]# yum install httpd -y[root@server1 ~]# cd /usr/lib/systemd/system[root@server1 system]# cp httpd.service /etc/systemd/syst...
2019-05-25 00:12:48
119
原创 nginx的平滑升级(热部署)
nginx的热部署(平滑升级)原理:Ngnix中的进程分为两类,一类是master进程(主进程),一类是worker进程(工作进程)。原理就是首先我们先会替换master进程,同时我们替换的master是与老版本的worker兼容的。下一步,就是保持还有连接的worker进程,待其老去退休,进行替换。实验材料:准备两个不同版本的nginx的压缩包nginx-1.14.2.tar.g...
2019-05-25 00:12:35
160
原创 Lnmp架构——tomcat安装及相关配置(session粘性、session共享)
一、tomcat的概念开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是JavaWeb编程接口)二、tomcat安装配置1、下载jdk、tomcat包tomcat下载网站:http://tomcat.apache.orgjdk可以在网上下载。获得资源包以后,解压缩[root@server1 ~]# tar zxf j...
2019-05-20 21:49:08
301
原创 Lnmp架构memcache缓存(配置php页面缓存、OpenResty配置nginx前端缓存)
前言:实验环境:我们前三章搭建好的Lnmp架构。原理分析:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器...
2019-05-10 23:18:16
384
原创 搭建Lnmp架构(3)——模拟产品上线(搭建论坛服务)
一、获得论坛资源包,进行解压(注意解压得到nginx的发布目录下)unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/二、进入nginx的发布目录下查看文件,并进行改名[root@server1 ~]# cd /usr/local/lnmp/nginx/html/[root@server1 html]# ls50x....
2019-05-10 23:18:03
107
原创 搭建Lnmp架构(2)——Nginx源码安装
一、获取Nginx源码包,解压在Ngnix官网下载: http://nginx.org/tar zxf nginx-1.14.0.tar.gz二、进入目录,删除版本号信息cd nginx-1.14.0vim src/core/nginx.h #define NGINX_VER "nginx/"三、关闭debug日志vim auto/cc/gcc171 ...
2019-05-10 23:17:51
96
原创 搭建Lnmp架构(1)——Mysql、PHP源码安装
一、Lnmp的概念LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux ,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有...
2019-05-10 23:17:37
241
原创 HAProxy实现web页面的动静分离、读写分离
HAProxy实现web页面的动静分离、读写分离一、实验环境实验环境: rhel6.5 selinux and iptables disabled172.25.75.1 (server1) haproxy172.25.75.2 (server2) web1172.25.75.3(server3) web2172....
2019-04-26 23:16:40
338
原创 HAProxy实现负载均衡(日志、监控、acl访问控制的配置)
一、haproxy是什么?HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器...
2019-04-26 23:15:46
193
原创 RHCS集群套件——ISCSI/SCSI实现存储共享
前言:此内容承接上一篇博客:一、搭建环境两台redht6.5的虚拟机。server1 配置luci集群管理界面,用来配置和管理集群。server1、server2 集群节点,配置ricci。server3 配置共享存储,增添一块共享磁盘二、搭建步骤1、server3上安装共享存储所需要的软件(高级yum源)yum install scsi-* -y2、在server1、ser...
2019-04-26 23:15:23
289
原创 RHCS集群套件——Luci/Ricci实现Web高可用集群
一、RHCS的概念Red Hat Cluster Suite即红帽集群套件,它是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。REDHAT公司在2007年发布RHEL5时,就将原本作为独立软件发售的用于构建企业级集群的集群套件RHCS集成到了操作系统中一同发布。它提供有如下两种不同类型的集群:1、高可用性:应用/服务故障...
2019-04-26 23:15:09
188
原创 LVS的NAT模式
NAT(Network Address Translation)网络地址转换模式一.NAT模式的数据走向:client–>vs–>rs–>vs–>clent(原路返回)用户请求为客户端IP到调度器的虚拟IP,(CIP-VIP)—->LVS调度DIRECTOR,在此处调度器会将报文再次封装一个RS的IP头,即此时的数据包是((CIPVIP)+RIP),调度器将再...
2019-04-19 22:08:33
158
原创 DR模式下高可用的LVS
高可用的LVS(DR模式)—(HA+LB)Keepalived:什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,那说到keepalived时不得不说的一个协议就是VRRP协议,可以说这个协议就是keepalived实现的基础。V...
2019-04-19 21:46:04
119
原创 LVS的TUN(隧道)模式
LVS的TUN(隧道)模式IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一...
2019-04-19 21:45:49
141
原创 LVS的DR(Direct Routing)直接路由模式
LVS的背景:Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器来讲,CPU、I/O处理能力很快会成为瓶颈。由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题。为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要。Linux虚拟服务器(Linux Virtual Servers,L...
2019-04-19 21:45:18
220
原创 CDN加速的实现——varnish
CDN的全称——Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。...
2019-04-16 22:51:59
129
原创 linux虚拟机的封装
虚拟机封装 :封装的意义—>将一个虚拟机设置成类似于一个安装包的东西,使做出来的镜像文件可以快速的在别的主机上安装和使用;也是虚拟机重置的原理。虚拟机封装的过程一.安装linux6.5虚拟机的初始设置1.下载rhel6.5的镜像2.进入虚拟机图形管理界面#...
2019-04-15 20:16:51
225
原创 python第八天(类与面向对象)
面向对象:一种基于面向过程的新的编程思想,顾名思义该思想是站在对象角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。类:实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。 类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中...
2019-04-11 22:45:30
191
原创 python第七天(文件系统管理+系统)
一般来说,我们打开一个文件需要做的操作三步打开 --> 操作 --> 关闭一.打开文件的方法open() 方法:Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用...
2019-04-11 20:26:02
1416
原创 python第六天(装饰器)
装饰器作用要了解python中@装饰器的作用,首先要记住这么几点:装饰器符号“@”属于语法糖,什么意思呢?就是说,我不按照@装饰器的语法要求来写,而是按照一般python的语法要求来写完全可以。那么用@装饰器的格式来写的目的就是为了书写简单方便装饰器的作用是什么呢? 简单的理解就是:装饰原有的函数,在不改变原函数的基础上,给函数增加功能(我们的代码对修改是封闭的,对扩展是开放的)。...
2019-04-04 22:49:50
103
原创 Python第五天(列表生成式+字典生成式+高阶函数)
写段代码输出10以内的偶数,这是很简单的问题,相信大家用不了几行代码就可以写出。但如果是要用一行代码输出呢?现在就要用到我们功能强大的列表生成式了!!![i for i in range(0,11) if i % 2 == 0] 很简单吧,用列表生成式,上面的问题一行代码就可以实现了。列表生成式下面我们再用例子来体会列表生成式:1.s = '51 5000 10000'这段代码实...
2019-04-04 22:49:37
475
原创 python第四天(字典+函数)
字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。一.简单的字典实例:d...
2019-04-04 22:49:24
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人