2015青岛历险记
八月中旬和同事们去了趟青岛。每次提到青岛这座城市,首先想起来很久很久以前,在填报大学志愿的时候,在青岛和杭州之间纠结了很久,最后还是来到了杭州。有高中好友后来去青岛读书,毕业后又回到武汉!
rpm打包过程浅析
在解释打包spec文件之前,先说说两种打包常用的方式,以Python为例,CentOS6上默认是Python2.6,但是现在更常用的是Python2.7,为了满足环境要求,好几次在生产环境编译安装Python2.7,烦了之后就想自己打个CentOS6上的rpm包。打包的命令是rpmbuild,先安装rpmbuid:
# yum -y install rpm-build
Linux的kill信号略说
因为需要ping命令的统计输出,也就是Linux上Ctrl+C之后的倒数2行数据,所以要使用Shell模拟键盘的Ctrl+C,最后发现kill -2可以完成做这个事情。顺带看了下Linux的信号机制。记下备查。

自定义OS X共享网络地址池
我自己不用MAC电脑,我用的是elementary OS。这次是有漂亮妹子求救,她的Mac笔记本连不上公司192.168.2.x/24段的服务器,话说Mac我也不是很熟,只能当做Linux来玩了。5分钟大致判断出来,名为bridge100的网卡上有一个192.168.2.1的地址,所以网段冲突,导致连不上服务器。确定这个地址没啥用,于是用下面的命令删掉网卡:
$ sudo ifconfig bridge100 delete
没有异常。
深夜运维思考
CentOS6上Python升级到2.7版本
系统版本:
CentOS 6.6
默认情况下,CentOS6的Python版本是2.6,但是2.7可能是一个更常用的Python版本,当开发必须使用某些新特性和特性的时候。就可能需要升级Python版本!(做过更恶心的是把RHEL5上的Python2.4升级,满足Django要求)
Nginx的简单ACL
和Apache类似,Nginx自带acl功能,使用关键字access和deny进行配置,从上往下匹配,完成匹配则执行对应的操作。
access和deny可以放在http,server,location,limit_except段中。可以限制网段,也可以是单个IP。例子如下:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
匹配到deny的访问会出现"403 Forbidden"错误。
诡异的gitlab排错经历
![杭州春天][1]
春天到了! 这个gitlab排错经历实在太有趣了,值得记一下!
使用gitlab的api管理用户
以下内容涉及到Linux的curl指令、htpp的GET、DELETE和POST方法。非管理员用户只能操作自己的账号,管理员用户权限较大,回车前,请反复检查命令参数。在以下命令中,使用Private token做用户认证,用户可以在http://yougitlab-website/profile/account 查到自己的token,演示中以your-private-token做替代。
moosefs分布式网络文件系统
由于单机文件系统的不可靠性,软硬件都存在故障风险,所以在重要场合,大多已经开始采用分布式文件系统,分布式系统遵循不把鸡蛋放在一个篮子里的原则,在一台机器崩溃的情况,文件系统集群中的其它服务器依旧可以提供完整的文件存取服务。由于分布式文件系统的容错性、高可靠性和高可扩展性的优点,其自诞生起就一直很火,各类开源产品层出不穷。本文演示了如何使用moosefs(简称mfs)搭建一套分布式网络文件系统!