by leopku

We proudly announced for CentOS Tweak first release.

八月 13, 2010 in linux by leopku

CentOS Tweak was a set of commands to optimizing CentOS server, including kernel, network and hard disk  optimize etc.

It is very useful for automation management of CentOS server farms.

 

CentOS Tweak source code on GitHub: http://github.com/leopku/centostweak

Download last release: http://github.com/leopku/centostweak/downloads

by leopku

在线文档

四月 6, 2010 in 未分类 by leopku

弄了一个在线文档

有时需要临时查看文档时,电脑或者服务器却上没有office、PDF之类的软件。

文档列表:

《MooseFS权威指南》《MFS文件系统使用手册》《Linux下的MySQL调优》《基于Centos定制发行版》《Xen虚拟机初级安装》《PyMOTW 1.4 中文版》《存储沙龙》《Pro Git》《实战Nginx第一至五章》《High Availability MySQL Cookbook》《Varnish 2.1.2 安装与配置》

by leopku

RPM安装ImageMagick后gem安装rmagick遇到的问题

八月 19, 2010 in linux, ruby by leopku

 

从www.imagemagick.org下载最新的rpm包安装好之后

gem install rmagick

checking for InitializeMagick() in -lMagickCore… no

checking for InitializeMagick() in -lMagick… no

checking for InitializeMagick() in -lMagick++… no

Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

试了很多方法都无效

仔细看了一下mkmf.log

里面有一条/usr/bin/ld: cannot find -lfftw3

这不是说没找到fftw3相关的库嘛

yum install fftw3-devel

再运行一下gem install rmagick

再看一下mkmf.log,果然变了fontconfig-devel

继续。

如此这番,前前后后总共有三个包,一起安装的语句:

yum install fftw3-devel fontconfig-devel libtool-ltdl-devel -y

这时再运行gem install rmagick,一切OK。

by leopku

分享一个跨平台绿色版正则工具

七月 9, 2010 in python by leopku

关于正则表达式工具,之前用自己破解的RegExLab.com的Regex Match Tracer

也试过zhaosm兄那儿弄来的RegexBuddy完全版

不过zhaosm兄提到跨平台的问题,突然想起来以前找到的一个工具TweakRecon。

TweakRecon是由python开发,跨平台,带GUI(基于tk)的正则表达式测试工具,支持中文哦。

最令人神奇的时,整个软件仅仅只有一个python源文件!

不费话,上软件截图。

TweakRecon截图

 

ps: 差点忘了上传软件本身了。

再ps: 发现后台编辑器没有直接上传附件的功能,大家发扬一下丰衣足食的精神,去google一下吧:P

by leopku

Linux文件系统优化

七月 3, 2010 in linux by leopku

# 关闭按时间判定是否运行fsck,系统时间万一改了呢?

tune2fs -i0 /dev/vgSVN/lvBackup

# 增大mount多少次后fsck,ext3默认是三十多次

tune2fs -c99 /dev/vgSVN/lvBackup

# 好了,改完了看看有没有生效

tune2fs -l /dev/vgSVN/lvBackup | egrep 'ount count|Last mounted'

 

# 编辑/etc/fstab,增加noatime选项

/dev/vgSVN/lvBackup /opt/backup ext3 defaults,noatime 1 2

# 对于nfs,增加 rsize=32768,wsize=32768,intr,noatime,已经挂载上的可以用remount选项

mount -t nfs -o remount,rsize=32768,wsize=32768,intr,noatime 192.168.0.123:/home/important/ftp_dest /opt/back/

by leopku

LVM添加硬盘之扩展Logical volume、新建Logical volume

七月 3, 2010 in linux by leopku

  1. fdisk /dev/sdb
  2. n
  3. p
  4. 1
  5. t
  6. 8e
  7. w
  8. pvcreate /dev/sdb1
  9. vgextend VolGroup00 /dev/sdb1
  10. # 扩展
  11. lvextend -L +100G /dev/VolGroup00/LogVol01
  12. e2fsck -f /dev/VolGroup00/LogVol01
  13. resize2fs /dev/VolGroup00/LogVol01
  14. # 看看还有没有空间
  15. vgdisplay | grep Free
  16. # 若不是 0 / 0,则表示还有空间,假设为 8504 / 265.75 GB
  17. lvcreate -n lvAnother -l 8504 VolGroup00
  18. # 或者按空间扩展(推荐上面的方式)
  19. lvcreate -n lvAnother -L 265.75 GB VolGroup00
  20. # 创建文件系统
  21. mkfs.ext3 /dev/VolGroup00/lvAnother
  22. # lvm的snapshot备份
  23. lvcreate -n LogVol01-snap -L 500M /dev/VolGroup00/LogVol01
  24. # lvm的snapshot查看
  25. mount /dev/VolGroup00/LogVol01-snap /tmp/snap
     

by leopku

Specified key was too long; max key length is 1000 bytes

六月 9, 2010 in mysql by leopku

今天群里一朋友遇到一问题:

Specified key was too long; max key length is 1000 bytes

查了一下,原来是MySQL在UTF-8下的BUG

把varchar(255)改成varchar(200)就OK了

 

不过,这个BUG存在五年了,还没修复,唉……

by leopku

rails的memcache-client引起的怪问题

五月 21, 2010 in ruby by leopku

前言(也就是废话):

最近公司在北京和天津的新办公室装修完毕,两地的同事都搬进了新办公室。

开发环境也趁此大好时机,做了次乔迁:将所有团队的SVN全部整合到专用的版本服务器中;将所有团队的项目管理整合到了redmine中。另外,将CMS环境(编辑用)、主站环境、测试环境也搭建了一下。

第一次这么近距离地接触ruby,感觉gem安装还算方便

(别扔鸡蛋了,)正文(出场了):

今天silver报怨rails太慢。之前都是直接拿webrick跑的,前面用nginx挡着。

kyc建议用thin。

开始都还顺利,几个应用都能正常访问,轮到测试环境的时候,显示 502 bad gateway。

这不奇怪嘛。停了,用webrick启,测试一下,完全正常啊。

又用thin启,再试一下,不行,赶紧telnet 127.0.0.1 5000,明明能telnet上。

去看看日志吧 thin.5000.log:

Unexpected error while processing request: uninitialized constant MemCache::EventedServer

这怎么回事啊?!对于我这个ruby门外汉来说,没辙了。搬救兵吧,请swordray过来。

swordray看了后说:可能是memcache-client的版本

我安装的时候ruby是最新版本1.8.7,gem是1.3.6,安装的组件的时候也没加参数,于是乎都装的新版本组件。

看一下memcache-client的版本,1.8.3

将memcache-client卸载了,安装1.7.8版本

gem install memcache-client -v=1.7.8

再用thin启,这次就没问题了!

 

总结:

感觉ruby小版本之间的兼容性很成问题!

python的组件在这点上还是没多大问题的

by leopku

利用SOHU dag镜像为RHEL/CentOS安装软件较新版本

二月 26, 2010 in linux by leopku

RHEL/CentOS官方源中的软件少而旧

一般都安装Base System后,自行下载所需软件的最新版本编译安装

但是这样也有一些问题,比如某软件出现安全漏洞,不能及时打上最补丁

于是,国外就有了一些非官方的源,其中最有名的就是RPMForge提供的dag源

但是RPMForge的服务器在国外,国内使用速度不太理想

前些天偶然发现搜狐的镜像里也提供了对DAG的镜像。

不废话了,讲讲如何使用搜狗的DAG镜像。

在/etc/yum.repo.d/下新建文件dag-sohu.repo,内容如下:

 

# Name: SOHU RPM Repository for Red Hat Enterprise 5 – dag

# URL: http://mirrors.sohu.com/

[dag-sohu]

name = Red Hat Enterprise $releasever – sohu.com – dag

baseurl = http://mirrors.sohu.com/dag/redhat/el5/en/$basearch/dag

enabled = 1

protect = 0

gpgkey = http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

gpgcheck = 1

 

保存文件。

运行yum update会看到系统从http://mirrors.sohu.com/读取最新软件信息

可以看到sphinx等的软件已经可以用yum安装了

subversion服务器端、mod_dav_svn也是最新的1.6.x版本了。

by leopku

基于BeansDB+纯真IP库的高性能IP转换系统

一月 20, 2010 in Distribute File System, memcache by leopku

最近几个项目都用到了IP到城市转换功能。

之前,每个项目都是直接在纯真IP库里查。

可是现在数据量大了,越来越发现效率成问题了。

 

前一阵子看到豆瓣的开源项目BeansDB,当时直觉就告诉我,这东西非常有用。

抽空在测试机上搭建了一下,测试了一小把,感觉速度提高了很多。

立马把IP转换部分代码改成里基于BeansDB的。转换之后的架构如左图。

流程如下: Read the rest of this entry →