Centos6安装Docker+BBR——天作之合

一.引子

Docker这东西最近来可是相当火呢,不过我一直没机会去碰,一是不熟悉,二是它对内核要求比较高,作为一个一直呆在Centos6的2.6.32系内核的人= =。3.10以上的内核版本实在是有点遥不可及了,最重要的是,我的机器上一般都装了锐速,用于抵抗这坑比网络环境的影响,然后锐速也对内核版本要求很严格……所以,GG。

不过转折在前一段时间出现了,Google贡献了BBR项目,这是一个内核补丁性质的项目,对TCP进行了优化,我也在它出现后进行过测试,发现对于网络性能有着显著的提高,虽然不像锐速那么猛,但是也算是很可以了。之后在elrepo出了测试版kernel-ml的4.9版本内核后我就想把BBR和Docker放在一起用,不过考虑到还是测试版的问题又忍了下来,过了一段时间出了正式版的kernel-ml,然而我又忙于其他事,不得已只能把此计划后推了。

现在,空了下来,我也终于重拾起之前的计划了。

二.详情

①.首先要装的是kernel-ml,毕竟这是一切的基础,过程还是比较方便的,只是有些注意点

导入elrepo的GPG然后安装elrepo源

然后安装kernel-ml,很顺利

一般来说现在就已经好了,但是,如果你之后碰到啥情况,可以安装kernel-ml的headers、devel以及firmware

这时候你会碰到冲突问题,需要使用rpm -e --nodeps XXX包 来强制删除冲突,然后才能安装上。 阅读全文→

Centos6安装Vestacp——源自战斗民族

一.介绍

来自俄罗斯的Vestacp在面板界也是挺有名的,界面挺漂亮的(对,我的意思就是你,DA,努力点啊,喂),功能也挺全的,别看下面是英文的,官方有支持中文其实。

上次吐槽说DA发信慢,所以屌鸡给我推荐了Vestacp,我之前对这个面板也是有所了解的,但是我接触vps比较多,对这种类似虚拟主机的面板一直有点摸不着头脑,这次为了自建邮局也是好好摸了摸底。

二.安装

Vestacp的安装其实来说很简单,主要是你要搞清楚需要什么,然后就没啥问题了,官方在前几次更新后出了个在线选择组件并生成安装命令的功能

讲真挺好用的,不过首先是得下载脚本

然后在官网:传送门 往下拉动页面,选择你需要的组件,然后点击生成命令。 阅读全文→

Centos6安装DirectAdmin

一.介绍

DA是一款好面板,除了丑了点……好吧,不是一点,不过DA官方正在做新皮肤,看截图挺期待的,不过还是希望更加好用,不要像某NameCheap一样,把丑的界面改成了好看然而难用的一逼的界面

希望能在寒假结束之前出beta版本,别问我现在的界面是咋样的……辣眼睛,对比来说CPanel或者说WHM就好看多了,不过那个就有点贵了,我DA买了终身授权也就三百多,换成CP的话就够三个月费用。

好吧,瞎扯扯完了,开始进入正式环节。

二.安装

①.前置准备

这儿有四步,首先建议移除系统模板可能自带的mysql apache和php,防止某些奇怪的问题

然后升级下包

接着建议关闭selinux,这货是真的不好用,除非你是专业人士

然后可以校对下系统时间,注意openvz无此权限,另外部分机房可能ban了ntp,防止被用来助力DDOS

②然后就是正式安装了 阅读全文→

记一个Pcap_DNSProxy的BUG

一.问题

     最近在折腾anyconnect,拿来玩战地1,主要还是因为某sock在我这蜜汁校园网下太不稳定了,而常规的vpn又被ban协议了(好像我把系统玩坏了,我才不会承认呢!),然后要处理dns的问题,因为要做no-route分流必须考虑到cdn的问题,不然就没意义了,所以就把前一段时间折腾的Pcap_dnsproxy拿出来了,简单的配置了一下让它监听内网tunnel,然后改了下ocserv的配置文件将dns也设置为内网tunnel的ip,然后就好了,不过我在玩了一段时间后总是发现Pcap_dnsproxy会dead,主要状况是进程还在,但是对任何查询都无响应,即使是在服务器上dig也是如此,这就很尴尬了。

二.分析

      碰到问题去翻log是个好习惯,而且配合谷歌食用风味更佳(雾),然而这次翻到的log却没有给我直接找到解决方法,log里除了标示着程序启动读取config的输出以外就只有一条错误了(因为这条错误刷屏了……)

错误:Network Error: Socket initialization error, error code is 97

啥也看不出是吧,通过谷歌搜索这句话,可以看到github上一个Pcap_dnsproxy的issue里有出现,开始很惊喜,然而看了下发现并没有解决,只是一提,不过也给了一部分信息,项目的作者说97是协议不支持,程序无法初始化监听,那么问题就来了,是啥协议啥监听不成功?

把程序的配置文件从头翻到尾,只有TCP/UDP/IPV4/IPV6这几个是可以作为监听配置的,然后进一步分析,TCP和UDP是肯定不会有问题的(有问题这台机器还能跑啥),那么就是IPV6的锅了,很简单,因为我用的是阿里云的机器,不支持IPV6,好了,那我把所有IPV6的监听全部干掉,在对配置文件一番修改之后,啥也没变,还是这样(大写的尴尬)……

这到底是为什么呢? 阅读全文→

记一次Piwik升级事故——论看Changelog的重要性

一.记

作为一个入门级强迫症,我对升级程序这件事情还是蛮热衷的,当然我也不作,一般选择的都是stable版本,不过就算是这样这次我也栽了个跟头。Piwik是我用来统计我手里几个网站访客的程序,在我之前的文章里也介绍过,极其强大,今天闲着没事进后台看下这几天的访客情况,然后发现有个更新可以升级,然后我就不假思索得去点了下自动升级,是的,一开始一切正常,浏览器转了几圈之后就提示更新成功,让我更新数据库,OK,看上去没啥问题了,然后……问题就很尴尬的发生了,Piwik点到报表就提示(Class Piwik\PiwikPro\Advertising does not exist),如下图
sp20161003_232507

错误代码很明显……连debug都不用开,然后我就去搜索了下,piwik论坛有个帖子,github也有个issue,棒,仔细看了下,发现是这个更新抛弃了之前的一个plugin,然后没更新配置文件,导致还会加载,但是又由于更新删除了部分依赖,所就出了这档子事,解决方法也很简单

①.删除config/config.ini.php 中PiwikPro那条

②.删除plugins/PiwikPro 文件夹

然后刷新一下网页,一切又恢复了正常,虚惊一场