<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Garfield777的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Garfield777</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Garfield777]]></copyright><item><title><![CDATA[Linux系统Docker学习（1）]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/102550809</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/102550809</guid><author>Garfield777</author><pubDate>Mon, 14 Oct 2019 21:09:43 +0800</pubDate><description><![CDATA[一、什么是docker
Docker 属于 Linux 容器的一种封装，提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
而 Linux 容器是 Linux 发展出了另一种虚拟化技术，简单来讲， Linux 容器不是模拟一个完整的操作系统，
而是对进程进行隔离，相当于是在正常进程的外面套了一个保护层。
对于容器里面的进程来说，它接触到的各种资源都是虚拟的，从而实现与底层系统...]]></description><category></category></item><item><title><![CDATA[Linux系统下redis]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/102397334</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/102397334</guid><author>Garfield777</author><pubDate>Tue, 08 Oct 2019 19:29:14 +0800</pubDate><description><![CDATA[一、基础环境
1、操作系统：CentOS 7.3
2、Redis：5.0.0
官网下载地址：http://www.redis.cn/download.html
二、Redis安装（单节点）
1、编译安装Redis
tar -xvf redis-5.0.0.tar.gz

cd redis-5.0.0
make &amp;&amp; make install

2、创建一个目录用于制作软连接
mkd...]]></description><category></category></item><item><title><![CDATA[Mysql的读写分离]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101311967</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101311967</guid><author>Garfield777</author><pubDate>Mon, 07 Oct 2019 12:16:01 +0800</pubDate><description><![CDATA[1、什么是读写分离？
读写分离，基本的原理是让主数据库处理事务性增、改、删操作（INSERT、UPDATE、DELETE），而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。一般来说都是通过 主从复制（Master-Slave）的方式来同步数据，再通过读写分离（MySQL-Proxy）来提升数据库的并发负载能力 这样的方案来进行部署与实施的。
2、为...]]></description><category></category></item><item><title><![CDATA[Linux系统mysql半同步复制]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101446690</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101446690</guid><author>Garfield777</author><pubDate>Thu, 26 Sep 2019 17:00:56 +0800</pubDate><description><![CDATA[接上一博客（主从复制）在同一操作环境下
在主master：
mysql -uroot -pQwer+1234df
mysql&gt; install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql&gt; show global variables like '%semi%';   ## 查看参数


timeout 1...]]></description><category></category></item><item><title><![CDATA[在linux搭建mysql主从复制]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101213979</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101213979</guid><author>Garfield777</author><pubDate>Mon, 23 Sep 2019 18:39:05 +0800</pubDate><description><![CDATA[主从优点及特点
1、类似于负载，读写分离也属于负载的一种，能保证数据的作用；
2、备份，平常我们在维护数据库的时候，常常会写一些脚本来作维护，有些还需要手动操作来维护，这个就替我们解决了这一方面，更加保证了我们的数据
操作环境
两台服务器：
server1（192.168.122.103）主
server2（192.168.122.203）从
俩台主机selinux和firewalld都处于关闭
...]]></description><category></category></item><item><title><![CDATA[LNMP架构]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101107718</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101107718</guid><author>Garfield777</author><pubDate>Mon, 23 Sep 2019 16:57:42 +0800</pubDate><description><![CDATA[LNMP架构介绍
LNMP：Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Linux是一类Unix计算机操作系统的统称，是目前最流行的免费操作系统。代表版本有：debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器，也是一个 IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统...]]></description><category></category></item><item><title><![CDATA[Haproxy实现反向代理负载均衡]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101019288</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101019288</guid><author>Garfield777</author><pubDate>Thu, 19 Sep 2019 14:12:26 +0800</pubDate><description><![CDATA[操作环境
	Linux 7.3
	server1（172.25.3.1） 	Haproxy
	server2(172.25.3.2)			httpd 后端
	server3(172.25.3.3)			httpd 后端

server1安装haproxy
	yum install haproxy -y

修改haproxy的配置文件
	vim /etc/haproxy/haproxy.cfg


...]]></description><category></category></item><item><title><![CDATA[RHCS集群luci--ricci]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101017227</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101017227</guid><author>Garfield777</author><pubDate>Thu, 19 Sep 2019 13:00:59 +0800</pubDate><description><![CDATA[操作环境
linux6.5虚拟机三台
管理主机：172.25.3.1
被管理主机（172.25.3.2
                172.25.3.3）

3.1用来安装fence服务
3.2用来安装ricci以及luci
3.3用来安装ricci
在server2上

...]]></description><category></category></item><item><title><![CDATA[LVS-NAT模式]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/101013387</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/101013387</guid><author>Garfield777</author><pubDate>Thu, 19 Sep 2019 10:58:01 +0800</pubDate><description><![CDATA[LVS-NAT工作原理
通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时（请求的目的IP为VIP），根据调度算法决定将请求发送给哪个 后端的真实服务器（RS）。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址（RIP）,这样真实服务器（RS）就能够接收到客户的请求数据包了。真实服务器响应完请求后，查看默认路由（NAT模式下我们需要把R...]]></description><category></category></item><item><title><![CDATA[Lvs服务]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100895247</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100895247</guid><author>Garfield777</author><pubDate>Mon, 16 Sep 2019 18:29:01 +0800</pubDate><description><![CDATA[在Linux下用LVS和Ipvsadm做Web负载均衡,LVS是在linux操作系统基础上建立虚拟服务器，实现服务节点之间的负载均衡。它是基于linux内核实现的，2.6.X内核默认集成了lvs模块，LVS常用负载均衡的实现是基于ip协议的，所以一般称为IPVS。
实验环境将使用6.5的操作系统。
安装ipvsadm
		yum install -y ipvsadm

编辑策略
 ipvsadm ...]]></description><category></category></item><item><title><![CDATA[Varnish服务]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100888495</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100888495</guid><author>Garfield777</author><pubDate>Mon, 16 Sep 2019 17:05:31 +0800</pubDate><description><![CDATA[Varnish的简介
Varnish使用内存缓存文件来减少响应时间和网络带宽消耗。这个项目是由挪威的一家报纸 Verdens Gang 的网络分支起始的，其架构设计和开发总监Poul-Henning Kamp 是FreeBSD 核心的开发人员之一，最初项目的管理与基础设施及额外开发由挪威一家Linux咨询公司 Linpro提供。
说到varnish，squid 就不得不提及。squid 算得上是古...]]></description><category></category></item><item><title><![CDATA[Python练习（3）]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100885881</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100885881</guid><author>Garfield777</author><pubDate>Mon, 16 Sep 2019 14:37:54 +0800</pubDate><description><![CDATA[文件练习：


生成一个大文件ips.txt,要求1200行，每行随机为172.25.254.0/24段的ip


读取ips.txt文件统计这个文件中ip出现频率排前10的ip
import random

def create_ip_file(filename):
    ip = ['172.25.254.' + str(i) for i in range(1,255)]
    # pri...]]></description><category></category></item><item><title><![CDATA[Python学习Day07]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100859904</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100859904</guid><author>Garfield777</author><pubDate>Sun, 15 Sep 2019 19:16:02 +0800</pubDate><description><![CDATA[一、面向对象、
类: 是一群具有相同特征或行为的事物的统称，类是抽象的，不能直接
使用
对象: 由类创造出来的具体存在
类: 属性(信息)和方法(你能完成的事情)
1.如何定义类？class 类(): pass
2.如何将类转化为对象？实例化
实例化指在面向对象编程中，使用类创建对象的过程称为实例化，是将
一个抽象的概念具体化的过程
实例化过程中一般由类名 对象名 = 类名(参数1，参数2，…)
...]]></description><category></category></item><item><title><![CDATA[Python学习Day06]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100764492</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100764492</guid><author>Garfield777</author><pubDate>Thu, 12 Sep 2019 17:27:15 +0800</pubDate><description><![CDATA[一、with语句
上下文管理器: 打开文件，执行完with语句内容之后，会自动关闭文件
对象
with open('/tmp/file') as  f:
	print(f.read())
		## with语句的作用就相当于在open后面自动加上close
	
f = open('/tmp/file','r')
print(f.read())
f.close()


同时打开两个文件对象(这种写法...]]></description><category></category></item><item><title><![CDATA[Python练习（2）]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100667066</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100667066</guid><author>Garfield777</author><pubDate>Mon, 09 Sep 2019 17:41:33 +0800</pubDate><description><![CDATA[字典的练习
数字统计：
1)随机生成100个整数
2)范围[20,100]
3)升序输出所有不同的数字及每个数字重复的次数
import random

nums = []
for i in range(100):
	nums.append(random.randint(20,100))

sorted_nums = sorted(nums)
num_dict = {}

for num in s...]]></description><category></category></item><item><title><![CDATA[Python学习Day05]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100638001</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100638001</guid><author>Garfield777</author><pubDate>Sun, 08 Sep 2019 21:50:29 +0800</pubDate><description><![CDATA[装饰器
装饰器:
把一个函数当作参数，返回一个替代版的函数
本质上就是一个返回函数的函数
如果要增强某一函数的功能，但又不希望修改原函数的定义，这种在代码运行期间动态增加功能的方式，称之为“装饰器”（Decorator）。写代码需要遵循开放封闭原则，已经实现的功能代码不允许被修改，但可以被扩展。
例：
def login(func):
	def inner(arg,arg1):
    	prin...]]></description><category></category></item><item><title><![CDATA[Python学习Day04]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100625000</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100625000</guid><author>Garfield777</author><pubDate>Sun, 08 Sep 2019 16:08:04 +0800</pubDate><description><![CDATA[一、函数
函数，就是把具有独立功能的代码块组织成为一个小模块，在需要的时候调用
在python中函数是以def定义
def hello():
	print('hello1')
	print('hello2')
	print('hello3')			##  定义函数
hello()						## 调用函数


函数的嵌套
一个函数内嵌套另一个函数，被嵌套的函数也需要调用
def hello():
...]]></description><category></category></item><item><title><![CDATA[Python学习day03]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100551286</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100551286</guid><author>Garfield777</author><pubDate>Thu, 05 Sep 2019 17:29:29 +0800</pubDate><description><![CDATA[一、列表
列表的修改
通过索引的重新赋值
		service = ['http','ftp','ssh']
		print(service)
		service[0]='mysql'			##通过索引改变列表service的第一个元素
		print(service)


通过切片
			service = ['http','ftp','ssh']
			print(service[:2])
		...]]></description><category></category></item><item><title><![CDATA[Python练习（1）]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100232812</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100232812</guid><author>Garfield777</author><pubDate>Mon, 02 Sep 2019 15:23:32 +0800</pubDate><description><![CDATA[if练习：
1.判断一个年份是不是闰年。
闰年为年份能被400整除，或能被4整除但不能被100整除
		year = int(input('Year:'))
		if (year % 4 == 0 and year %100 !=0) or (year %400 == 0):
			    print('%d是闰年' %(year))
		else:
			    print('%d不是闰年' %...]]></description><category></category></item><item><title><![CDATA[Linux系统python学习day02]]></title><link>https://blog.youkuaiyun.com/Garfield777/article/details/100141476</link><guid>https://blog.youkuaiyun.com/Garfield777/article/details/100141476</guid><author>Garfield777</author><pubDate>Thu, 29 Aug 2019 17:06:07 +0800</pubDate><description><![CDATA[一、break_continue_exit
break:跳出整个循环 不会再执行循环后面的内容
continue：跳出本次循环，continue后面的代码不会执行
exit():结束程序的运行
与shell内基本一致。
例：

...]]></description><category></category></item></channel></rss>