Lighttpd 图片和视频等文件的防盗链处理

  用过Apache的朋友都知道mod_rewrite可以用来进行处理防盗链,Lighttpd也有同样的功能,而且总的来说,lighttpd.conf配置文件比httpd.conf更简单明了。 原来一直使用Apache来处理防盗链,今天修改了服务器上Lighttpd的配置,直接实现了防盗链,下面是防盗链部分的代码。 [coolcode] $HTTP[“referer”] !~ “^($|http://.*\.(toplee\.com|8zone\.cn))” {   $HTTP[“url”] =~ “\.(jpg|jpeg|png|gif|rar|zip|mp3)$” {     url.redirect = (“.*” => “http://www.toplee.com/blog/”)   } } [/coolcode]   懂点编程的朋友一定惊叹lighttpd的配置如此简洁明了,我非常喜欢这种风格的东西!

Continue Reading →

Memcached和Lucene笔记

  前段时间完成的项目使用了大量的Memcached,整个架构在性能上的确提高了很多,的确不是一点点的提高,面向大负载访问的时候,MySQL数据库仍然可以做到轻量级的负载,效果不错,建议有条件的朋友一定要把项目改造到Memcached上,著名的Vbb论坛当前的版本就已经开始支持使用Memcached进行论坛数据缓存。我原来在MOP的时候,我们也大量的采用这个东西。   在使用Memcached方面,谈不上什么经验,反正极端的性能最大化就是使用永久的缓存,通过你的程序逻辑去控制和维护MC里面的缓存数据,我做的项目就是这样处理的,程序的逻辑的确增加了复杂度,但是对于商业项目来说,这种付出是非常值得的。   Memcached唯一可能需要注意的是,他对key的操作不是原子级别的,所以在高并发处理的时候,对同一个key的写操作可能会导致覆盖,这个需要自己从程序逻辑上进行处理,这个理论我并没有深入研究,不过JH看了源代码给了我这样的结论,按照JH的实力和人品,我认为有80%以上的可信度:)   对于Lucene,大部分人都不陌生,相关的技术也不用太多讲解,网上到处都是相关的文档。我最近想通过PHP来找到一个最佳的整合Lucene的方法,并且应用到正规的商业应用中,目前知道的可选方案是Pecl的Clucene模块和Zend Framework的 Zend_Search_Lucene 模块,这两个东西目前我使用的感觉都不算太好,另外还有一种是使用 PHP的 Java扩展支持(有两种,一种是php_java扩展,一种是php_java的 bradge方式),这个感觉也比较怪异,最后还有一种知道的办法就是使用系统调用 java 命令执行Lucene功能。 这个没有试过,不知性能可以达到什么程度。   在这里做个记号,等有了进一步的收获补进来。

Continue Reading →

寒冷的夜、寂静的公路、孤独的自我。。。

  昨晚工作到凌晨1点多离开办公室,伴随着车子里面悠扬而伤感的Korean Music CD,行驶在只有这一刻才能感受到宽敞和寂静的公路上,心情很难形容,到底是一种美还是伤,不管是什么,很容易让自己沉醉进去,点燃一支烟,此刻无需担心JC的打扰,稍稍放低车窗,让车外寒冷的空气带走车里的烟,同时也带进来让人产生自虐般快感的寒冷。 于是不由得放慢了车速,慢慢的让自己沉浸到一种伤感的意境中,而且希望这种伤感越强烈越爽,在这种强烈的伤感中,任何人都会不由自主的想起某些往事和某个人。   人的一生面临太多选择,由此而产生太多的后悔和遗憾,很多人会因为曾经的一次错误选择,一生都无法从那一刻、那一幕中走出来,这种笼罩自己一生的回忆有时充满痛苦,有时又是如此变态的让人感受到快感。。。。

Continue Reading →

squid后面的lighttpd日志记录用户ip的方法

默认在lighttpd的accesslog里面无法记录透过squid或者apache的mod_proxy过来的用户ip地址,全都会记录到squid或者apache机器的ip地址,但是httpd头里面的用户ip其实是发送到lighttpd的,可以通过修改accesslog.format来达到目的,下面是我的格式,跟combined兼容: [coolcode] accesslog.format = “%{X-Forwarded-For}i %v %u %t \”%r\” %s %b \”%{User-Agent}i\” \”%{Referer}i\”” [/coolcode] 其中”%{X-Forwarded-For}i 就是记录了用户来源的ip地址

Continue Reading →