<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[oikinkl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/oikinkl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; oikinkl]]></copyright><item><title><![CDATA[CDN的理解]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/83549065</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/83549065</guid><author>oikinkl</author><pubDate>Wed, 31 Oct 2018 12:00:21 +0800</pubDate><description><![CDATA[一、CDN概况
CDN的全称是Content Delivery Network，即内容分发网络。
CDN加速主要是加速静态资源，如网站上面上传的图片、媒体，以及引入的一些Js、css等文件。
CDN加速需要依靠各个网络节点，例如100台CDN服务器分布在全国范围，从上海访问，会从最近的节点返回资源，这是核心。
CDN服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

HTML的文件引用
H...]]></description><category></category></item><item><title><![CDATA[mysql + gtid半同步主从复制]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82960249</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82960249</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 19:48:31 +0800</pubDate><description><![CDATA[一、环境说明
mysql主机：server5 172.25.96.5
mysql从机：server6 172.25.96.6；server7 172.25.96.7
二、安装软件包
server5上
创建目录，将解压得到的软件包放在这个目录下，

进入mysql-5.7.17目录下，安装所需要的软件包
yum install -y mysql-community-client-5.7.17-1.e...]]></description><category></category></item><item><title><![CDATA[简单的Lnmp架构]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82960125</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82960125</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 19:47:49 +0800</pubDate><description><![CDATA[一、源码安装mysql

解压

安装依赖性及编译工具（mysql的源码编译需要用到cmake）

yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm
yum install -y gcc gcc-c++ 
yum install -y ncurses-devel 
yum install bison -y



进入的指定目录进行安装


按照安装失败的...]]></description><category></category></item><item><title><![CDATA[memcache+tomcat+nginx实现负载均衡及session共享]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82960006</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82960006</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 19:47:02 +0800</pubDate><description><![CDATA[一、部署
环境介绍
server1：memcache，tomcat，nginx
server2：tomcat，memcache
所需的软件包
apache-tomcat-8.5.24.tar.gz
tomcat8_memcache_session.jar.zip
jdk-7u79-linux-x64.tar.gz

安装tomcat
tomcat要在java环境下，所以要安装jdk
安装jdk

...]]></description><category></category></item><item><title><![CDATA[pacemaker + nginx 实现高可用]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82959896</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82959896</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 16:12:41 +0800</pubDate><description><![CDATA[一、配置nginx
server1上
1）源码安装nginx
可在官方网站www.nginx.org上下载安装包。
[root@server1 ~]# tar zxf nginx-1.14.0.tar.gz
[root@server1 ~]# ls
crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  nginx-1.14.0.tar.gz
haproxy-1.4.24.tar.gz...]]></description><category></category></item><item><title><![CDATA[haproxy + pacemaker实现负载均衡及高可用]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82959766</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82959766</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 16:12:02 +0800</pubDate><description><![CDATA[一、源码安装haproxy
1）解压：


阅读readme文档，查看安装的说明

uname -a 查看本机的linux内核版本和os的位数

2）开始编译haproxy，如下：

说明：TARGET表示os的内核版本，ARCH表示os的位数，PREFIX指定安装路径
编译完成后，到指定的安装路径查看，

3）开始安装haproxy
make install PREFIX=/usr/local/...]]></description><category></category></item><item><title><![CDATA[lvs-fullnat负载均衡]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82959479</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82959479</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 13:51:36 +0800</pubDate><description><![CDATA[NAT模式和FULLNAT模式对比
nat模式下报文变化
发送 接收
cip —&amp;amp;amp;gt; vip
cip —&amp;amp;amp;gt; rip ( DNAT )
rip —&amp;amp;amp;gt; cip
vip —&amp;amp;amp;gt; cip ( SNAT )
fullnat模式下报文变化
发送 接收
cip —&amp;amp;amp;gt; vip
lip —&amp;amp;amp;gt; rip ( SNAT + DNAT )]]></description><category></category></item><item><title><![CDATA[pacemaker + corosync 实现高可用]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82959616</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82959616</guid><author>oikinkl</author><pubDate>Mon, 08 Oct 2018 13:50:57 +0800</pubDate><description><![CDATA[基础知识
1.pacemaker
pacemaker是一个开源的高可用资源管理器(CRM)，位于HA集群架构中资源管理、资源代理(RA)这个层次，它不能提供底层心跳信息传递的功 能，要想与对方节点通信需要借助底层的心跳传递服务，将信息通告给对方。(作为通信层和提供关系管理服务，心跳引擎，检测心跳信息)
2.corosync
Corosync是集群管理套件的一部分，它在传递信息的时候可以通过一个简单...]]></description><category></category></item><item><title><![CDATA[RHCS集群套件——Luci/Ricci实现Web高可用集群]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82823551</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82823551</guid><author>oikinkl</author><pubDate>Sun, 23 Sep 2018 18:37:43 +0800</pubDate><description><![CDATA[一、简介
RHCS即 RedHat Cluster Suite ，中文意思即红帽集群套件，它是一套综合的软件组件，可以通过在部署时采用不同的配置，以满足企业对高可用性，负载均衡，可扩展性，文件共享和节约成本的需要。
它提供有如下两种不同类型的集群：

1、高可用性：应用/服务故障切换－通过创建n个节点的服务器集群来实现关键应用和服务的故障切换
2、负载均衡：IP 负载均衡－对一群服务器上收到的 I...]]></description><category></category></item><item><title><![CDATA[LVS的nat和tun模式]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82734981</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82734981</guid><author>oikinkl</author><pubDate>Mon, 17 Sep 2018 21:40:12 +0800</pubDate><description><![CDATA[一、NAT模式： 
原理： 
就是把客户端发来的数据包的IP头的目的地址，在负载均衡器上换成其中一台RS的IP地址，并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器，负载均衡器再把数据包的原IP地址改为自己的IP，将目的地址改为客户端IP地址即可｡期间,无论是进来的流量，还是出去的流量，都必须经过负载均衡器｡ 
在之前配置的DR模式下接着操作，详情请参考上一篇博客...]]></description><category></category></item><item><title><![CDATA[LVS负载均衡的DR模式配置及高可用]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82715894</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82715894</guid><author>oikinkl</author><pubDate>Mon, 17 Sep 2018 00:22:03 +0800</pubDate><description><![CDATA[一、LVS集群的搭建

1.环境说明(需要三台虚拟机)：


    
        
            机器名称
            ip配置
            服务角色
        
    
    
        
            server1
            VIP:172.25.96.1 DIP:172.25.96.100
          ...]]></description><category></category></item><item><title><![CDATA[企业常用cdn搭建varnish服务器]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82694005</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82694005</guid><author>oikinkl</author><pubDate>Fri, 14 Sep 2018 23:35:47 +0800</pubDate><description><![CDATA[1.环境： 
    实验主机：server1    172.25.35.1 varnish 
          server2   172.25.35.2 apache 
          server3   172.25.35.3 apache

2.varnish部署 
    1.下载安装varnish软件包（server1） 
    2./etc/sysconfig/varnish...]]></description><category></category></item><item><title><![CDATA[rhel6.5虚拟机的封装]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82707586</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82707586</guid><author>oikinkl</author><pubDate>Fri, 14 Sep 2018 23:34:36 +0800</pubDate><description><![CDATA[虚拟机的封装 
1、首先在红帽官网下载6.5的镜像rhel-server-6.5-x86_64-dvd.iso（企业一般使用的都是企业6版本，很少用7版的）； 
2、物理机切换至超级用户root，执行virt-manager，进入虚拟机管理界面； 
3、下载6.5镜像后，在自己的物理机设置网络挂载；

mkdir /var/www/html/rhel6.5
mount /iso/rhel-serv...]]></description><category></category></item><item><title><![CDATA[python中的类]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82503792</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82503792</guid><author>oikinkl</author><pubDate>Thu, 13 Sep 2018 20:00:37 +0800</pubDate><description><![CDATA[一、类属性和类方法 
python中有一句特别著名的话：一切皆对象。 
类也是一个特殊的对象 —–&amp;amp;gt; 类对象 
类对象可以拥有自己的属性和方法


1.类属性
2.类方法


通过&amp;amp;lt; 类名.属性名 &amp;amp;gt;或者&amp;amp;lt; 类名.方法名 &amp;amp;gt; 的方式可以直接访问类的属性或者调用类的方法 
类属性和实例属性 
概念和使用


类属性就是给类对象定义的属性，通常用来记录与这个类相关的特征
...]]></description><category></category></item><item><title><![CDATA[python数据类型经典练习题]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82355817</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82355817</guid><author>oikinkl</author><pubDate>Sun, 09 Sep 2018 12:54:58 +0800</pubDate><description><![CDATA[1. 生成任意多个随机数，并升序排列

代码如下：


# _*_ coding:utf-8 _*_


import random

s = set([])
for i in range(int(raw_input())):
    s.add(random.randint(1, 1000))
print sorted(s)

结果如下：



2. 统计重复单词的次数：

此处认为单词之间以空...]]></description><category></category></item><item><title><![CDATA[python生成式]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82390963</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82390963</guid><author>oikinkl</author><pubDate>Sun, 09 Sep 2018 12:53:06 +0800</pubDate><description><![CDATA[一、列表生成式

书写格式：

[experssion  for  i  in  序列  if ...]

1. 生成一个列表，列表元素分别为[1**2,2**2,3**2......n**2]

常规做法：定义一个空列表，然后采用for循环，每循环一次添加一个元素到列表中。


# _*_ coding:utf-8 _*_


li = []
for i in range(1, int(raw_...]]></description><category></category></item><item><title><![CDATA[python学习之函数]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82431286</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82431286</guid><author>oikinkl</author><pubDate>Fri, 07 Sep 2018 21:54:31 +0800</pubDate><description><![CDATA[一、函数的定义

def 函数名(形参):
      函数体
      return 返回值

注：形参和返回值不为一个，可以有多个形参和返回值。 
二、函数的调用 
    函数名（实参） 
        实现打印返回值：print 函数名() 
    总结： 
        定义函数时，函数不执行； 
        调用函数时，函数才执行。 
例1

# 定义函数
# 如果不主动调...]]></description><category></category></item><item><title><![CDATA[python数据类型—集合(set)]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82353219</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82353219</guid><author>oikinkl</author><pubDate>Fri, 07 Sep 2018 21:51:40 +0800</pubDate><description><![CDATA[集合(set) – 类似于字典

集合的两大功能：

集合可以实现去重的功能
	集合可以实现关系测试：交集；差集；并集；是否子集；是否没有交集
1. 集合的定义

集合里面的元素是没有重复的



定义一个空集合：第一种方法的定义是错误的，生成的是一个字典；第二种方法才是正确的定义一个空集合的方法。



2. 集合的特性

集合是无序的，不重复的数据类型，因此不支持索引；切片；重复和连接，只满足...]]></description><category></category></item><item><title><![CDATA[python数据类型—字典(dict)]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82352216</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82352216</guid><author>oikinkl</author><pubDate>Fri, 07 Sep 2018 21:50:45 +0800</pubDate><description><![CDATA[字典：是一种可变容器模型，且可存储任意类型对象。

字典的每个键值 key=&amp;gt;value 对用冒号 : 分割，每个键值对之间用逗号 , 分割，整个字典包括在花括号 {} 中。

1.字典的创建

赋值创建：key-value键值对



工厂函数创建通过字典的fromkeys方法创建字典，所有元素有一个默认值，如果没有指定默认值，默认为None给每个元素设置默认值为&quot;123&quot;

2. 字典的...]]></description><category></category></item><item><title><![CDATA[python面向对象的三大特征—封装、继承、多态]]></title><link>https://blog.youkuaiyun.com/oikinkl/article/details/82464668</link><guid>https://blog.youkuaiyun.com/oikinkl/article/details/82464668</guid><author>oikinkl</author><pubDate>Fri, 07 Sep 2018 21:48:09 +0800</pubDate><description><![CDATA[一、封装 
封装：在面向对象编程中，所有的类通常情况下很少让外部直接访问类内部的属性和方法,而是向外部类提供一些按钮,对其内部的成员进行访问,以保证程序的安全性。


1&amp;amp;gt; 封装是面向对象编程的一大特点
2&amp;amp;gt; 面向对象编程的第一步，将属性和方法封装到一个抽象的类中
3&amp;amp;gt; 外界使用类创建对象，然后让对象调用方法
4&amp;amp;gt; 对象方法的细节都被封装在类的内部 
示例1：




cl...]]></description><category></category></item></channel></rss>