<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[even160941的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/even160941</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; even160941]]></copyright><item><title><![CDATA[Python开发——Django框架简介]]></title><link>https://blog.csdn.net/even160941/article/details/106149340</link><guid>https://blog.csdn.net/even160941/article/details/106149340</guid><author>even160941</author><pubDate>Sun, 26 Jul 2020 16:49:50 +0800</pubDate><description><![CDATA[文章目录Django 介绍Django安装
Django 介绍
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
Django是一个开放源代码的Web应用框架，由Python写成。
Django遵守BSD版权，初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。
Django采用了MVC的软件设计模式，即模型M，视图V和控制器C。
Django安装
在安装 Django 前，系统需要已经安装了Pytho]]></description><category></category></item><item><title><![CDATA[Linux 使用命令发送邮件]]></title><link>https://blog.csdn.net/even160941/article/details/103896131</link><guid>https://blog.csdn.net/even160941/article/details/103896131</guid><author>even160941</author><pubDate>Wed, 08 Jan 2020 18:30:01 +0800</pubDate><description><![CDATA[mail命令
1.关闭本机的sendmail服务或者postfix服务
#执行下面的命令，各位大侠都对号入座吧
#sendmial
service sendmail stop
chkconfig sendmail off
#postfix
service postfix stop
chkconfig postfix off

#再狠一点就直接卸载吧..
yum remove sendmail
yu...]]></description><category></category></item><item><title><![CDATA[Vim的模式命令]]></title><link>https://blog.csdn.net/even160941/article/details/103893486</link><guid>https://blog.csdn.net/even160941/article/details/103893486</guid><author>even160941</author><pubDate>Wed, 08 Jan 2020 16:33:45 +0800</pubDate><description><![CDATA[基本vi控制模式命令

进入vi输入模式的命令

vi模式删除命令

vi控制模式搜索命令历史的命令

vi模式字符串查询命令

杂项vi模式命令


]]></description><category></category></item><item><title><![CDATA[谷歌Google Authenticator实现双因素认证]]></title><link>https://blog.csdn.net/even160941/article/details/103693949</link><guid>https://blog.csdn.net/even160941/article/details/103693949</guid><author>even160941</author><pubDate>Wed, 25 Dec 2019 10:19:41 +0800</pubDate><description><![CDATA[参考：
https://www.cnblogs.com/hanyifeng/p/kevin4real.html
介绍：什么是双因素认证
双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统。双因素认证是一种采用时间同步技术的系统，采用了基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥，该密钥同时存放在服务器...]]></description><category></category></item><item><title><![CDATA[SecureCRT 开启高亮]]></title><link>https://blog.csdn.net/even160941/article/details/103663781</link><guid>https://blog.csdn.net/even160941/article/details/103663781</guid><author>even160941</author><pubDate>Mon, 23 Dec 2019 13:26:33 +0800</pubDate><description><![CDATA[SecureCRT默认设置是没有语法高亮的
更改设置如下：
Options -&gt; Session Options -&gt; Emulation (Terminal)
其中Terminal选择 【ANSI】，勾选【ANSI Color】和【Use color schema】
就可以了
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变...]]></description><category></category></item><item><title><![CDATA[Ansible-roles批量部署nginx]]></title><link>https://blog.csdn.net/even160941/article/details/100838542</link><guid>https://blog.csdn.net/even160941/article/details/100838542</guid><author>even160941</author><pubDate>Sat, 14 Sep 2019 23:18:50 +0800</pubDate><description><![CDATA[我先将大致实现过程记录一下，后续完善：
server1：主控 ansible节点
server2：待部署的nginx节点
先开另外一台虚拟机server3，编译nginx，得到nginx的配置文件，以及制作nginx的启动脚本
在server1 ansible节点：
新建nginx的roles目录，ansible-galaxy init nginx
在此目录下：
files目录下：得到nginx安...]]></description><category></category></item><item><title><![CDATA[Python八大排序（八）——堆排序]]></title><link>https://blog.csdn.net/even160941/article/details/100174339</link><guid>https://blog.csdn.net/even160941/article/details/100174339</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 17:29:10 +0800</pubDate><description><![CDATA[堆排序涉及到的概念
堆排序是利用 堆进行排序的
堆是一种完全二叉树
堆有两种类型: 大根堆 小根堆
两种类型的概念如下：
大根堆：每个结点的值都大于或等于左右孩子结点
小根堆：每个结点的值都小于或等于左右孩子结点
因为比较抽象，所以专门花了两个图表示


那么，什么是完全二叉树呢？
完全二叉树 是 一种除了最后一层之外的其他每一层都被完全填充，并且所有结点都保持向左对齐的树，向左对齐指的是：

像...]]></description><category></category></item><item><title><![CDATA[Python八大排序（七）——桶排序]]></title><link>https://blog.csdn.net/even160941/article/details/100174185</link><guid>https://blog.csdn.net/even160941/article/details/100174185</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 16:24:19 +0800</pubDate><description><![CDATA[代码如下：
#7.桶排序
def Tong_sort(num_list):
    max_num =max(num_list)   #选择一个最大的数
    bucket = [0]*(max_num+1)   #创建一个元素全为0的列表，当作桶。

    for i in num_list:  #把所有元素放入桶中，即把对应元素个数加一
        bucket[i] += 1
   ...]]></description><category></category></item><item><title><![CDATA[Python八大排序（六）——归并排序]]></title><link>https://blog.csdn.net/even160941/article/details/100173768</link><guid>https://blog.csdn.net/even160941/article/details/100173768</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 15:53:42 +0800</pubDate><description><![CDATA[代码如下：
#6.归并排序
#思想：将N个长度为1的键值，成对合并成N/2个长度为2的键值组
    #将N/2      2               N/4      4
    #...
    #直到合并为1组长度为N的键值组为止
def Merge_sort(num_list):
    if len(num_list) &lt;= 1:
        return num_list...]]></description><category></category></item><item><title><![CDATA[Python八大排序（五）——快速排序]]></title><link>https://blog.csdn.net/even160941/article/details/100173176</link><guid>https://blog.csdn.net/even160941/article/details/100173176</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 15:13:30 +0800</pubDate><description><![CDATA[代码如下：
#5.快速排序（交换排序）
#思想：先找一个虚拟的中间值，按此中间值将所有数据分为两部分，小于中间值的数据放在左边大于中间值的放在右边，在以同样的方式处理
#左右两边的数据直到排完序为止。
def Quick_sort(num_list):
    if len(num_list) &lt; 2:
        return num_list
    left_list = []  ...]]></description><category></category></item><item><title><![CDATA[Python八大排序（四）——希尔排序]]></title><link>https://blog.csdn.net/even160941/article/details/100172973</link><guid>https://blog.csdn.net/even160941/article/details/100172973</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 15:00:32 +0800</pubDate><description><![CDATA[代码如下：
#4.希尔排序（插入排序）
#思想：将待排序数组按照步长gap进行分组，然后将每组的元素利用直接插入排序的方法进行排序，每次将gap折半减小，循环上述操作。
#当gap=1时，利用直接插入，完成排序。
def Shell_sort(num_list):
    length = len(num_list)
    gap = length // 2
    while gap &gt;...]]></description><category></category></item><item><title><![CDATA[Python八大排序（三）——直接插入排序]]></title><link>https://blog.csdn.net/even160941/article/details/100172689</link><guid>https://blog.csdn.net/even160941/article/details/100172689</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 14:40:12 +0800</pubDate><description><![CDATA[代码如下：
#3.直接插入排序：
#第一层循环：遍历待比较列表中的每个元素
#第二层循环：将本轮选择的元素与已经排好序的元素相比，升序排序,跟冒泡排序差别在于，冒泡是向后遍历，这个是向前遍历。
def Insert_sort(num_list):
    for i in range(len(num_list)):
        for j in range(0,i):
            ...]]></description><category></category></item><item><title><![CDATA[Python八大排序（二）——选择排序]]></title><link>https://blog.csdn.net/even160941/article/details/100172618</link><guid>https://blog.csdn.net/even160941/article/details/100172618</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 14:35:10 +0800</pubDate><description><![CDATA[代码如下：
#2.简单选择排序：比较+交换 每次从剩下的挑最小的放在前面
#第一层循环：依次遍历序列中每一个元素
#第二层循环：将遍历得到的当前元素依次与余下的元素进行比较，符合最小则交换。
def Select_sort(num_list):
    for i in range(len(num_list)):
        min_value_index = i
        for j ...]]></description><category></category></item><item><title><![CDATA[Python八大排序（一）——冒泡排序]]></title><link>https://blog.csdn.net/even160941/article/details/100172539</link><guid>https://blog.csdn.net/even160941/article/details/100172539</guid><author>even160941</author><pubDate>Sat, 31 Aug 2019 14:30:19 +0800</pubDate><description><![CDATA[代码如下：
#1.冒泡排序(属于交换排序)：序列中的元素左右比较，保证右边的元素始终大于左边，第一轮结束最右边一定为最大。
def Bubble_sort(num_list):
    for i in range(len(num_list)):
        for j in range(i,len(num_list)):
            if num_list[i] &gt; num...]]></description><category></category></item><item><title><![CDATA[Ansible与haproxy实现负载均衡+高可用]]></title><link>https://blog.csdn.net/even160941/article/details/99128262</link><guid>https://blog.csdn.net/even160941/article/details/99128262</guid><author>even160941</author><pubDate>Fri, 23 Aug 2019 20:46:14 +0800</pubDate><description><![CDATA[server1
[root@server1 ~]# vim /etc/sudoers
 92 devops  ALL=(ALL)       NOPASSWD: ALL

[devops@server1 ansible]$ yum list haproxy
[devops@server1 ansible]$ sudo yum install -y haproxy

[devops@server1 ...]]></description><category></category></item><item><title><![CDATA[用户反映网站访问速度慢详解]]></title><link>https://blog.csdn.net/even160941/article/details/99975158</link><guid>https://blog.csdn.net/even160941/article/details/99975158</guid><author>even160941</author><pubDate>Wed, 21 Aug 2019 16:56:40 +0800</pubDate><description><![CDATA[某个用户向你反映说你开发的网站访问速度很慢，但是该用户访问其他问题很正常，分析下原因、有哪些工具分析原因、怎么解决问题？
可能的原因
（1）可能的原因一：服务器出口带宽不够用。这是一个很常见的瓶颈。一方面，可能是本身购买的服务器出口带宽就很小（企业购买带宽相当昂贵），一旦用户访问量上来了，并发量大了，自然均分给用户的出口带宽就更小了，所以某些用户的访问速度就会下降了很多。另一个，就是跨运营商网络导...]]></description><category></category></item><item><title><![CDATA[使用SaltStack自动化部署Zabbix监控平台（zabbix-server、zabbix-agent）]]></title><link>https://blog.csdn.net/even160941/article/details/99664769</link><guid>https://blog.csdn.net/even160941/article/details/99664769</guid><author>even160941</author><pubDate>Wed, 21 Aug 2019 09:15:02 +0800</pubDate><description><![CDATA[文章目录

]]></description><category></category></item><item><title><![CDATA[Saltstack自定义模块]]></title><link>https://blog.csdn.net/even160941/article/details/99618621</link><guid>https://blog.csdn.net/even160941/article/details/99618621</guid><author>even160941</author><pubDate>Wed, 21 Aug 2019 09:14:40 +0800</pubDate><description><![CDATA[文章目录

自带的模块不够时，就可以自定义扩展模块。

[root@server1 ~]# salt server2 cmd.run df



在server1编写远程执行模块。

[root@server1 ~]# mkdir /srv/salt/_modules
[root@server1 ~]# cd /srv/salt/_modules/
[root@server1 _modules]#...]]></description><category></category></item><item><title><![CDATA[Saltstack之saltssh及其API的应用]]></title><link>https://blog.csdn.net/even160941/article/details/99618809</link><guid>https://blog.csdn.net/even160941/article/details/99618809</guid><author>even160941</author><pubDate>Wed, 21 Aug 2019 09:14:16 +0800</pubDate><description><![CDATA[文章目录sshserver2（minion）server1（master）测试APIserver2server1Python OMT
ssh
注意：此实验环境中不用装minion，不需要开启master和minion。
server2（minion）

关闭minion服务，方便我们观察实验现象。

[root@server2 ~]# systemctl stop salt-minion   #停...]]></description><category></category></item><item><title><![CDATA[Salt Syndic（topmaster）的应用]]></title><link>https://blog.csdn.net/even160941/article/details/99618712</link><guid>https://blog.csdn.net/even160941/article/details/99618712</guid><author>even160941</author><pubDate>Wed, 21 Aug 2019 09:14:03 +0800</pubDate><description><![CDATA[文章目录实验环境server1(master+syndic)server4测试

topmaster -&gt; (syndic master) -&gt; minion
syndic从top master接受任务，将任务交给master master让自己相应的minion做，top master并不知道有多少miion
master和top master之间通过syndic通信

实验环境

...]]></description><category></category></item></channel></rss>