Debian VE Producing FATAL Error Messages with iptables

With Debian on an OpenVZ VE I’m getting fatal error messages with iptables such as FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep: No such file or directory This is because iptables tries to load some kernel modules but can’t find modules.dep. Actually, kernels in VE cannot load any modules because they are managed by HN. As iptables […]

赠祝元宠

蛀虫是民族主义者、军协会长,我则是和平主义者,信奉自由意志主义。也许我们之间就和Boston Legal的Allan Shore与Denny Crane一样,除了最后一季。跟不同立场的人成为朋友是件很有意思的事。 蛀虫已经离开很久了,我却仍然要告诫自己,我们不能当作蛀虫还在。也许蛀虫就是我们之中唯一一个有热情、有激情、没有杂念的人。 采薇 采薇采薇,薇亦作止。曰归曰归,岁亦莫止。 靡室靡家,玁狁之故。不遑启居,玁狁之故。 采薇采薇,薇亦柔止。曰归曰归,心亦忧止。 忧心烈烈,载饥载渴。我戍未定,靡使归聘。 采薇采薇,薇亦刚止。曰归曰归,岁亦阳止。 王事靡盬。不遑启处。忧心孔疚,我行不来。 彼尔维何?维常之华。彼路斯何?君子之车。 戎车既驾,四牡业业。岂敢定居?一月三捷。 驾彼四牡,四牡骙骙。君子所依,小人所腓。 四牡翼翼,象弭鱼服。岂不日戒,玁狁孔棘! 昔我往矣,杨柳依依。今我来思,雨雪霏霏。 行道迟迟,载渴载饥。我心伤悲,莫知我哀!

Debian配置LANMP笔记(Debian+Apache+Nginx+MySQL+PHP)

Web服务器的LAMP、LLMP、LNMP几种结构应用都已经比较广泛了。特别是LLMP、LNMP在VPS上很受欢迎,原因无非是Lighttpd、Nginx处理静态文件非常给力,用FastCGI方式解析PHP效率也很高。前几天在讨论LANMP与LLLMP相比的优势时,得知Apache的mod_php可以让Apache直接解析PHP(即Apache Handler),与FastCGI方式相同的是,Apache进程也是常驻内存,而Apache在高并发时对队列的处理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更稳定。比如下面的代码由php-cgi解析时会产生内存泄漏,而mod_php则没有这个问题。 所以我考虑从LNMP出发,然后让Apache代替php-cgi做后端解析PHP,形成LANMP结构。额外的好处是,Apache跑Ruby on Rails比Lighttpd或Nginx都简单许多。这篇笔记记录在Debian squeeze环境下配置LANMP的要点。 安装Apache sudo apt-get install apache2 libapache2-mod-php5 libapache2-mod-rpaf mod_rpaf是为了让Apache在被前端Nginx代理的情况下也能获取访客的真实IP。apache2和libapache2-mod-php5这两个包建议一起安装。apache2默认安装apache2-mpm-worker,这是Apache的Multi-Processing Module之一,此种方式效率更高,但配合mod_php时会有安全隐患,所以Debian的libapache2-mod-php5强制依赖apache2-mpm-prefork,会替换掉apache2-mpm-worker。自己编译的话没有这个限制。 安装nginx Debian squeeze的nginx是0.7.67版本的,这个版本有点老,从测试结果来看效率确实不如sid的0.8.54版本(现在sid为1.0.4版本)。所以首先增加一个sid的源。为了不让sid大规模污染squeeze环境,在/etc/apt/preferences.d/新建priority文件并且写入以下Pin-Priority: Package: * Pin: release v=6.* Pin-Priority: 900 Package: * Pin: release o=Debian Pin-Priority: -1 这段Pin-Priority的意义是默认只选用squeeze的包,当且仅当用apt-get -t sid指定release时才使用sid的包,且dist-upgrade时sid包不升级,避免升级时引入新的sid包。 然后, sudo apt-get -t sid install nginx-light sid中有两个nginx包,nginx-full和nginx-light,nginx-full包含的模块多一些,对比后我觉得nginx-light可以满足需求。如果要使用Limit Requests或Memcached的话,应该安装nginx-full。 安装MySQL和PHP 跟LAMP、LLMP和LNMP的区别是,不需要php5-cgi,php的配置文件在/etc/php5/apache2/。 配置Apache Apache在LANMP里的意义相当于LNMP里的php-fam、LLMP里的spawn-fcgi,以及php-cgi,首先要调整下Apache进程的数量,在/etc/apache/apache2.conf找到下面一段: # prefork MPM # StartServers: number of […]

A Bug of Grub-probe on Debian Xen VPS

My VPS runs its own kernel with PvGrub enabled on the host machine. When apt-get upgrades the kernel package, grub-probe will throw an error message: grub-probe: error: Cannot find a GRUB drive for /dev/xvda1 And abort the upgrade procedure. This is due to the missing root device /dev/xvda. This bug has been submited to debian […]

赠王宇航

蓦然回首,灯火阑珊处再无人影。 九罭 九罭之鱼,鳟鲂。我觏之子,衮衣绣裳。 鸿飞遵渚,公归无所。于女信处。 鸿飞遵陆,公归不复。于女信宿。 是以有衮衣兮,无以我公归兮,无使我心悲兮。

Merry Christmas 3

Merry Christmas to my friends. May Lord bless you all. Angels We Have Heard on High Angels we have heard on high, Singing sweetly through the night, And the mountains in reply Echoing their brave delight. Gloria in excelsis Deo. Gloria in excelsis Deo. Come to Bethlehem and see Him whose birth the angels sing; […]

你可还记得互联网的容颜

昨天去找一个php探针,无意中发现,iProber探针(最后更新于2007年)的官方网站,竟仍然活着。一个网站可能一年没有更新,但那多是因为域名、主机都按年续费,即便被抛弃,也能继续服务很长时间。然而,你如何理解一个停留在2006年的网站,仍然活着,只为提供一个不到32KB的软件的下载?首页的备案号提醒我,中国的《非经营性互联网信息服务备案管理办法》,已经实行5年多了。美国西海岸各大机房热卖的背后,恐怕不乏当年曾拿着这个探针四处寻找归宿的中国站长。 在这个采集、伪原创、垃圾站、五毛、水军、软文泛滥的互联网上,你是否会怀恋有爱、有梦、有风中思绪的年代? 真理部视互联网为洪水猛兽,CCAV把WoWer们描绘成了魔兽……你也许觉得共党皆是冥顽不化之徒,然而,这张停留在1999年的《人民日报》却告诉我们——党媒才是第一家拥抱互联网的报纸。

用GAE同步twitter到人人网状态之二

几个月前曾经做过一个同步twitter到人人网的脚本,现在twitter正式停止了对Basic Auth的支持,这个脚本已经失效了。之后我发现了GAE上已经有了一个twitter2renren服务,但好像也是失效的。我从rse43这里得到了代码,经过一些改动,就成了用GAE同步twitter到人人网状态之二。因为改动过多,就不将代码提交回rse43那里了。 更新记录 2010-12-1: 尽情的鄙视我吧……又一个typo,现已修正。 2010-11-27: 原来的判定RT的条件是个笔误,现已修正。 2010-9-16: 重大bug修正。twitter-fetcher.py 30行,create callback的方式有问题,导致所有的tweet都被同步到最后一个帐号上。不过现在还是不明白原来的写法为什么有问题。 2010-9-15: 首发。 项目主页 http://p.ream.at/projects/twitter2renren 下载 [download id=”61″] 演示 twitter2renren-dev twitter2renren-dev支持多人使用,登录需要Twitter OAuth,请自备必要工具。 twitter2renren-dev通过人人网手机版更新状态。手机版给每个用户分配了一个收藏链接,只要这个链接正确,就不用输入用户名密码了。所以有两种填写人人网帐号的方法:一是空出bookmark项,填用户名密码,由twitter2renren-dev自动获取收藏链接;二是自己登录人人网手机版,然后将登录后转到的地址(地址栏里很长很长的那个)直接填入bookmark项,该项填写之后twitter2renren-dev不再通过用户名密码获取收藏链接,所以选填此项时务必要填对。 UI太丑,谁有相关技能,请帮我画个UI吧。 今天发现了这个《尝试用urllib2和PyXMPP同步Twitter和校内状态》,看来更新人人网状态又多了一种XMPP协议的方法,不知道跟人人网手机版相比哪个稳定一点——用手机人人网更新简直就是看RP,经常出现大规模发布失败的情况。不过XMPP协议的方法需要用户名密码,对用户来说还是人人网手机版友好一些。