Gentoo下Nginx使用GeoIP模块为Django提供GEO信息

首先要在Gentoo下安装编译Nginx,需要加入GeoIP模块,请参考另一篇文章《Gentoo 安装编译Nginx》。在安装的过程中应该是会自动安装dev-libs/geoip这个包,如果没有的话使用emerge安装:

emerge -avt dev-libs/geoip

下载MaxMind的GEO数据,解压缩放在/etc/nginx目录下:

#Get the free database of geo_city
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /etc/nginx
#Get the free database of geo_coundty
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
mv GeoIP.dat /etc/nginx

编辑/etc/nginx/nginx.con文件,加入GeoIP的支持:

http {
    geoip_country  /etc/nginx/GeoIP.dat;
    geoip_city     /etc/nginx/GeoLiteCity.dat;
}

编辑django的fastcgi_param:

fastcgi_param GEOIP_COUNTRY_CODE $geoip_city_country_code;
fastcgi_param GEOIP_COUNTRY_CODE3 $geoip_country_code3;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
fastcgi_param GEOIP_LAT $geoip_latitude;
fastcgi_param GEOIP_LNG $geoip_longitude;

在Django的使用方法:

def index(request):
    return HttpResponse(request.META['GEOIP_COUNTRY_CODE'])

Gentoo 更新完系统后无法启动所有的Service

今天更新了Gentoo虚拟机,然后就无法启动所有的Service了。因为/var/lib/init.d/deptree这个文件损坏,提示需要运行/sbin/depscan.sh这个脚本进行修复。运行了命令还是不能启动,用vim查看deptree这个文件,损坏的地方都不能正确显示。Google之,需要在运行的时候加入–update的参数才可以,运行完重启动一切正常。

depscan.sh --update

产生这个问题的原因没有找到,估计是emerge命令更新的时候由于软件之间的冲突造成的。

VirtualBox 和 VMware 的网卡冲突

机器上先安装了VMware Workstation的版本,安装了Gentoo的虚拟机。而后安装VirtualBox,致使VMware中的虚拟机无法访问网络,局域网内无法ping通。Google之发现这个问题还是有人遇到的,但是没有搜到解决的办法。只得把VirtualBox卸载掉,一切恢复正常。具体的原因和其它的解决办法都没有找到。

P.S.
原来的Sun VirtualBox现在是Oracle VirtualBox,在卸载程序里面按了很多S键都未定位到它,才让我想起Sun被收购的事情。

Gentoo 2.6.34-r1 内核 VirtualBox 虚拟机发布

制作了最新内核版本的2.6.34-r1的Gentoo虚拟机镜像,下载地址:
http://www.douhua.im/downloads/gentoo/Gentoo.2.6.34.r1.x86.rar

root密码:douhua.im
修改网卡和IP地址请参考:《发布 Gentoo 2.6.31-r6 vmdk 镜像

AIR/Flex RegEx Testing Tool

在Flex/AS 3里面使用正则做验证有时候还是比较方便的,要是验证正则表达式是否正确,推荐使用RegEx Testing Tool这个小工具,不仅有验证,还有一些常用的正则表达式写法。
在线的Flex版本地址:http://gskinner.com/RegExr/
AIR的安装地址:http://gskinner.com/RegExr/desktop
AIR文件的下载地址:http://gskinner.com/RegExr/desktop/RegExr.air

Windows 7(64位)的OpenVPN Client问题

由于Windows 7(64位)对第三方驱动需要签名,所以TAP-Win32 Adapter在没有签名的情况下无法使用。只有在OpenVPN的站点下载最新的2.1版本才能解决这个问题,我使用的是2.1_rc22这个版本,64位Windows 7下测试通过。安装完成后TAP-Win32 Adapter的版本变为V9(以前是V8),由OpenVPN Inc.签发的驱动。
下载地址:http://www.openvpn.net/release/openvpn-2.1_rc22-install.exe

在CentOS 5.5上安装MongoDB

首先编辑/etc/yum.repos.d下的配置文件,我修改的是epel.repo,这个配置文件是我在安装OpenVPN的时候加入的,具体参见《CentOS VPS 安装 OpenVPN》。在配置文件中加入MongoDB的Repository地址:

[10gen]
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/x86_64/
gpgcheck=0

然后执行:

yum update
yum install mongo-stable-server
/etc/init.d/mongod start

安装Ruby的驱动:

yum install mongo

Rubygem 缺少no such file to load zlib 错误

在CentOS 5上使用源代码安装了ruby和gem,当使用gem更新的时候却提示no such file to load zlib的错误。下意识认为zlib的包没有安装好,重装了zlib和zlib-devel,但是在一台VPS中依然出现问题,搜了一下发现安装ruby源码中的zlib可以解决这个问题。

cd ext/zlib
ruby ./extconf.rb
make
make install

世界上有许多种父母

世界上有很多种父母,我会是一个怎样的父亲?

孩子出生有12天了,从出生伊始就是和妻子两个人照顾他,不像很多孩子出生下来由爷爷、姥姥这样的隔辈人照顾。一则父母年龄较大,体力精力不支;二则他们确实是管理型的照顾,负责检查指导,具体操作还是由我们来完成。两代人的思想观念不同、方式方法有很大差别,索性还是自己来做,省得为了很多细枝末节的问题争来争去。能够在家Coding,边工作边照看产妇和婴儿确实比较幸运。就是请个保姆来,也不会有我这样尽心尽力的来照顾她们母子。

作为新手,照顾孩子的时候难免手忙脚乱、手足无措,很多问题不知道怎么处理。幸亏网络比较发达,能在网上找到大部分的答案,再电话咨询一些已经成为父母的朋友,这10来天过的倒是也顺利。接下来漫长的日子,对于未来不确定的生活感到很恐慌。

想起来李宗盛的《希望》这首歌,确实是如实贴切的表达了一个父亲的愿望。

附:《希望》 词曲 李宗盛

养几个孩子是我人生的愿望
我喜欢她们围绕在我身旁
如果这纷乱的世界让我沮丧
我就去看看她们眼中的光芒
总有一天我会越来越忙
还好孩子总是给我希望
看着她们一天一天成长
我真的忍不住要把梦想对她讲
总在她们的身上看到自己过去的模样
对自己 对人生 对未来的渴望
她们是我的希望 让我有继续的力量
她们是未来的希望 所有的孩子都一样
她们是未来的希望
但愿我能给她一个最像天堂的地方
依稀记得她们出生时的模样
我和太太眼里泛着泪光
虽然她长得和我不是很像
但是朋友都说她比我漂亮
毫无意外我真的越来越忙
还好孩子总是给我希望
如果能够陪着她们一起成长
生命里就算失去一些别的又怎么样
总在她们身上看到自己过去的模样
对自己 对人生 对未来 的渴望
她们是我的希望 让我有继续的力量
她们是未来的希望 所有的孩子都一样
她们是未来的希望
但愿我能给她一个最像天堂的地方
虽然我难免还是会想
这样的歌很少会人欣赏
这一首歌无关儿女情长
只献给我家那两个可爱的姑娘
她们在我心里最柔软的地方
虽然我总是身在远方
我生命里美好的一切愿与她们分享

VirtualBox Gentoo 2.6.32-r7 镜像

发布了最新的内核2.6.32-r7版本的Gentoo VirtualBox镜像:

Gentoo 2.6.32-t7 x86:http://www.douhua.im/downloads/gentoo/Gentoo.2.6.32.r7.x86.rar