Author: 芳草苑主

  • From Apache to Nginx

    我感觉配置 nginx 渐入佳境了。配置 nginx 时应该用不同 apache 的思维,最主要的不同点是:

    apache 是 fallback 式配置,比如有两个 <directory> block,分别是 mydirectory 和 mydirectory/subdir。mydirectory/subdir 可以重写 mydirectory 的 directives,但 mydirectory/subdir 没有提到的 directives 就沿袭 mydirectory 的 directives。

    nginx 是 parallel 式配置,location 只能按优先规则取其一。

    另外,我觉得有人批评 apache 层层检测 .htaccess 造成效率低下的一个原因。我感觉这种说法并不妥,很多 apache 发行版默认 allowoverride none,用户只要根据需要在确实需要启用 .htaccess 的那一层启用 allowoverride,这并不造成效率损失,反而带来配置的灵活性。当然,nginx 不需要这种灵活性,因为它不是面向 share hosting 的产品。

    除了内存占用大是 apache 的硬伤,其他 nginx 的优势并不明显,apache 同样可以优化配置达到相应的效果,尽管很多配置不是 apache 的默认配置。(这只是我的总体感觉,我并没有深入去比较,欢迎探讨。)

  • eu domain transfer

    最近被 Lycos.co.uk 搞得够呛。它突然洗手不干了,估计是因为经济危机的关系。一个不想继续经营的公司服务质量是无法保证的,而且连个 complain 的地方都没有!

    我用到 lycos 的地方并不多,但还是在域名转移上有点麻烦。有几个 eu 域名委托 lycos 注册时,lycos 把联系人邮箱填为我的 lycos id,这个 id 已经无效了。而我一直认为 eu 域名转出需要原注册商的配合,所以反复请求 lycos 支持,而 lycos 爱理不理。事实上并不需要 lycos 配合。现在无暇去研究这个转移模式是否合理,能转成功已经谢天谢地了。

    以转到 godaddy 为例,godaddy 称之为四部曲:

    1. Initiate
    2. Authorize
    3. Accept/Decline
    4. Completion

    前两步几乎是同时完成的,只要在 godaddy 账户里点点鼠标就可以,第三步比较关键,但 godaddy 说

    The transfer is waiting for the customer to accept it at the losing registrar. If the customer does not accept the transfer at the losing registrar within 5 days, the transfer will be accepted automatically.

    这么说默认是 Accept 。如此很好,只要等上 5 天,域名就到 godaddy 账户项下了。

  • nginx has no path_info

    ngnix 0.6.35 没有实现 path_info。不知道 nginx 开发者是疏忽了,还是觉得没必要在 http server 层实现 path_info。我印象中有很多 php 程序的运行都依赖 $_SERVER[‘PATH_INFO’],所以在 ngnix proxy pass 给 php-cgi 之前,必须设置好正确的 path_info 参数。

    我认为最好的办法还是用正则表达式在 $fastcgi_script_name 里隔离出 script_name 和 path_info,但这样计算出的 path_info 用起来不如 ngnix variable 方便,而且得在脚本的安装位置或扩展名确定时才能写出相应的正则表达式。我是 nginx 新手,在 path_info 上折腾了三天才总结出一个相对满意的方案。如果 nginx 能给我一个 in-built variable $path_info,那会省事很多。

    当然我并不想责怪 nginx(apache 已经够令人称赞了,nginx 能超越它实属不易),说不定 nginx 不搞 path_info 有它的道理。 既然这样,php 编程时就应该考虑到 path_info 是不可靠的。以前我不太注意环境参数的获得性,如今审视了一下,除了 $_SERVER[‘PATH_INFO’]以外,$_SERVER[’PHP_SELF’] 和 $_SERVER[’SCRIPT_NAME’] 也是不可靠的。

    $_SERVER[‘REQUEST_URI’] 和 $_SERVER[’SCRIPT_FILENAME’] 相对可靠。

  • Godaddy dedicated server is faster

    我刚注意到 Godaddy 注册了一个 Tax ID EU826010755,开始对 perchase from the UK 征收 VAT,当前是15% (我在 2月份时仍是免 VAT的)。我不晓得这种财务变动是否伴随着基础设施的变动,可能这种变动已经发生。因为我注意到我的 Godaddy dedicated server 莫名其妙快了很多。

  • 路易十几住过的地方

    我经常把历史人物张冠李戴,我也记不住凡尔赛宫住过多少位路易(我只记得拿破仑想住但没去住)。

    到了巴黎,凡尔赛是必去之地。但因为前几天旅行社的活动过于出色,我们最后一天留在巴黎的自由活动的热情就不高昂了。打起精神参观了凡尔赛宫,但它实在是太大了,尤其是它的后花园。宫殿里溜了一圈,后花园就没去涉足,不知哪天重游?

    当晚返回伦敦。欧洲大陆之游结束。

  • 小国卢森堡

    清晨沿特里尔商业街前往马克思故居拍照留念,游览罗马古迹尼格拉城门。其实特里尔没啥好看的,估计要不是为了把我们安排住在昨晚的 NH Hotel,也不来到特里尔。

    接着赴卢森堡游览宪法广场、阿道夫桥、大峡谷、大公馆等。卢森堡小巧玲珑,风光都挺入照。几分钟之内可以经历峡谷、水乡、都市不同的风情,让人有些恍惚。

    午餐后返回法国,途径香槟酒故乡兰斯,参观兰斯大教堂。傍晚返回巴黎,旅游团解散。

  • 德国啤酒好喝

    赴德国,游览世界四大教堂之一科隆大教堂。中午品尝了德国蹄膀、德国香肠、德国啤酒,比较对我的胃口。吃完饭大部队整装待发时,发现丢了一位队员,是个小姑娘,她没参加团餐自由活动去了。大伙心情都不错,耐心等了半小时,小姑娘终于摸回来,原来她迷路了。

    再赴前联邦德国首都、贝多芬故乡波恩,游览波恩大学、贝多芬广场、前联邦政府和议会办公区等。波恩大学在市中心,学生们真有福。我在波恩大学门口的 open market 买了一堆水果,好便宜。

    前往德国最古老城市,马克思故乡特里尔,夜宿特里尔 NH Hotel。

  • 风车的故乡

    风车的故乡荷兰也是郁金香之都,可惜赏花季节未到。

    赴荷兰,首游名城海牙,游览国际法院和平宫和斯维宁根海滨公园。海牙国际法院也呔小了点,连杭州一个中级法院也比不上,斯维宁根海滨公园跟 Brighton Beach 差不多,对我没有吸引力。

    据说荷兰人爱吃生鱼(不是生鱼片那种,是一整条小海鱼),到了荷兰我肯定是要尝一下的。刚入口略有反胃,心里想着它是生的,不过转念一想,生鱼片也是生的,不是挺好吃的嘛,这样心理就没有阴影了,三口两口就把一条鱼给生嚼了。再赴北方威尼斯阿姆斯特丹。生鱼味道不错,只是没有芥末,也不知道和着什么酱料才好吃。接着参观民俗文化村,大风车村、木屐厂、奶酪作坊等。乘船游览阿姆斯特丹运河,市容,参观钻研磨加工厂。红灯区也是肯定要去见识见识的,夜宿阿姆斯特丹 Golden Tulips Hotel。

  • 旅游大军开拔

    清晨8点50分,赶到 Avenue des Champs-Élysées 加入旅游团,顿时有找到组织的感觉。这是50多人的大团,我们坐一辆大巴,离开法国,首站比利时布鲁塞尔。

    项目安排是在4天内拜访4个国家。尽管我羡慕老外多是清闲的度假方式,但我还处在旅游的初级阶段,有太多的好地方没去过,无法在一个地方耗磨时间,所以羡慕归羡慕,执行起来仍是选择蜻蜓点水式的项目。丽丽导游称此行是“印象之旅”,非常贴切。

    团员以留法的中国学生为主,而且女生占绝大多数(不晓得为什么,难道男生不喜欢出游?)。导游介绍完行程后,请每个人做个自我介绍。其中一个小女生的介绍很有意思,她说她最近学习没学好,学英语嘛考了托福以7分之差挂了,学法语嘛也没通过学校的考试,她老爸说,“既然你没学好,那就去玩好吧”,于是她就入了这个团。我觉得她老爸给我点了一个子女教育的思路,只是不知道自己有没有魄力去贯彻这种思路。

    在抵达布鲁塞尔之前,途经滑铁卢古战场短暂停留,然后进入欧洲首都布鲁赛尔市,游览原子球塔景区、中国楼、日本塔、独立门、王宫广场、市政厅、大广场、撒尿童等。夜宿布鲁塞尔 Holiday Inn Express。

  • Embracing Paris

    I have been in Europe for long time, but never had a chance to visit mainland Europe. Too busy or no spare money seems to be the reasons.

    Today, after long time dreaming, my wife and I finally landed Paris Station (Gare du Nord) via eurostar on 9:00 am Paris time. We left language at hotel (too early to check in), then visited Cathédrale Notre Dame de Paris, Musee du Louvre, Arc de triomphe de l’Étoile and Tour Eiffel.

    Paris – a charming city.