文章归档

Apache + Varnish + nginx 获取正确的客户端IP

貌似现在只要我更新博客就说明又在没事瞎折腾了… =.=
很久以前就遇到过这个问题,或者不如说实际上就是因为无法正确获取客户端IP才让我一直用的 Apache + nginx 的构架。今天折腾一下午 + 一晚上总算是把这个问题(还算)圆满地解决掉了。

首先是参考这篇文章配置好整个服务器构架,后端使用 Apache httpd 来处理 PHP, 中间用 Varnish 做缓存,前端使用 Tengine 作为 web 服务器,所以来自客户端的请求的处理流程是:

Client -> Tengine:80 -> Varnish:8090 ->(Miss)-> httpd:81

然后问题就来了,处在最后面的 httpd 拿不到正确的客户端IP地址,总是显示为127.0.0.1. 这个问题有趣在于,一直以来我都是使用了 mod_rpaf 来获取 X-Forwarded-For 中的客户端IP的,而如果我去掉中间那一层 Varnish 直接让 Tengine/nginx 反向代理给 httpd 的话,IP地址是能够正确获取的,更进一步实验表明,在只有一次代理的情况下一切都是正常的,当代理变成了两层,无论两层代理的顺序如何,都会出现这个问题。

中间各种股沟各种查文档就[此处省略6小时]了…

基本上有两个比较主要的原因。
[……]

继续阅读~→

解决一个 embrr 不能翻页的 PHP 配置问题

唔…大致说来就是最近在折腾着把停止更新的 embr 给升级到 Twitter REST API v1.1, 然后今天参考黄飘飘的改动把 fav 相关的两个地方弄上了自动翻页。

因为 api 更新的关系,不能用原来的页码作为参数,只能用推文的 id 来做界定了,不过操作起来倒是比想象的还要简单就是了。修改好过后传到 appfog 上木有任何问题,但放到我自己的服务器上面过后发现翻页不能了…
开始还以为是 nginx 配置不对,但看了半天找不到问题,于是考虑是不是 PHP 的问题…

简单找了一下,发现问题在于生成的翻页链接上,因为推文 id 被作为参数传到链接里面,而生成的链接变成了类似于 /favor.php?max_id=2.9972877531744E+13 这样的形式…科学计数法耶…
[……]

继续阅读~→

慎用 Afraid.org 提供的免费 DNS 服务

首先要明确的是 freedns.afraid.org 是一个非常优秀和好用的免费 DNS 服务商,我自己用了超过两年,现在也还有几个不怎么好的域名在上面。
这家的优点是:界面简单明了、解析记录种类较全、新记录生效极快以及服务稳定。

那我为啥要说慎用呢?因为昨天我终于搞清楚了一个以前一直没在意的功能的含义…

对于所有注册用户,可以免费添加若干域名到 afraid 的解析系统当中,设置解析记录等等。但是,免费用户会被强行开启一个功能叫做 shared:public. 付费用户才可以设置为 shared:private.
因为并不影响使用,我一直都没有在意这个功能到底是啥,直到昨天才发现,将共享设置为公开意味着整个系统中的全部注册用户都可以使用这个域名

没图我说个丁丁?
freedns
那个 litgh 是我,别的么…你认识吗?
[……]

继续阅读~→

在两台 VPS 之间实现自动异地备份

就是记录一下设置 Wiki 的自动备份,在 Wiki 所在的 VPS 上定时对资料目录打包,然后从备份用 VPS 把打包好的文件传输过去。

之前遭遇过多次 VPS 挂掉而数据灭失的惨剧,最近一次就是幸苦写了十多个页面之后的个人 Wiki… 然后到现在都还木有把那些内容全部给补回来…虽然说现在使用了几乎不用考虑升级(也就大大减少了手贱的几率)的 Slackware 系统,但是以防万一还是做个异地备份的好。

异地备份重于泰山

为了方便设置备份时间和文件传输的安全性考虑,我把所有参与备份的服务器设置为了同一时区,并且使用 scp 命令来通过 SSH 完成文件传输。至于备份的脚本,设置为使用 cron 任务定期执行。

我的个人 Wiki 放在一台跑着 Slackware 13.37 的低配 VPS 上面,用的是 MoinMoin Wiki 系统,所有数据都保存在文件系统中而不需要数据库,所以只要给 Moin 文件夹打包就可以备份全部内容了。
[……]

继续阅读~→

搬家到 Linode & nginx 重定向设置

博客搬家到了 Linode 的东京结点上,操作系统依然使用的是配置服务器最顺手的 ArchLinux 但服务器构架从之前小内存机器上仔细调教过的 MySQL + Apache httpd 变成了复杂一些但可以充分压榨服务器性能的 MySQL + Apache httpd -> varnish -> nginx 也即通常所说的 LNMPA 再加一个 varnish 这样。数据库和文件等的迁移都很顺利,因为是先修改我的本地dns缓存指向新主机,调试好过后才真正修改的dns记录,所以实现了博客不下线地转移。

迁移完成立刻就发现了一个问题:首页无限重定向。
这个倒是不难办,把原来所用的 nginx 虚拟主机配置文件中一些针对不同文件类型做的配置全部去掉,只保留了反向代理给 varnish 的语句,首页正常打开,后台也正常。经测试插件配置、启停、增删都没有问题。

很快就发现,博客的重定向不正确,也就是 WordPress 后台中的固定链接设置无法生效,访问自定义链接的页面打开的是首页。
安装了 Permalink Fix & Disable Canonical Redirects Pack 插件,但是还是无法正常。(需要注意下面的语句是建立在此插件启用的基础上的,停用插件后还是会出错)
[……]

继续阅读~→

个人常用 DNS 服务器集合

越发觉得应该建一个个人wiki了。。。

经常到处 Google DNS 服务器,终于烦了,做一个自己常用的地址列表放着。
注意这个不是推荐,只是自用的备忘,不定期更新。如果想看推荐请戳这里
格式为: DNS Server IP   Average ping*   TTL   Domain(Option)
* 测试用网络为河北联通ADSL, 基于单次 ping 命令测试

河北联通:
202.99.166.4   <1ms   253   cache-lf-1
202.99.160.68   <1ms   253   cache-lf-1
[……]

继续阅读~→

[贴图同步]eMule 上传 2TB 达成纪念(* ̄▽ ̄)y

Taken with picplz at 星云蘑菇的小床.

拍摄时间:April 14, 2012 at 09:00AM 原图链接: http://flic.kr/p/byn9mq

[……]

继续阅读~→

博客恢复

在之前的几篇文章中,曾经提到过用[glibc-vps]源来解决ArchLinux内核比母机高的问题,之前用这样的方法配好的服务器也一直稳定运行着。不过直到Arch的glibc更新到2.15.
话说,那一天,我写完了2011年总结,配好了留言头像墙,淡定地打开ssh输入了 pacman -Syu 然后重启系统。于是悲剧开始了。
重启过后很快发现vps没有启动,在后台尝试多次均无果后,发ticket要求客服修复。不久后客服回应,给我详细讲解了OpenVZ不能使用独立内核的问题。晕啊,这是我解决好了的。然后再发ticket,告诉客服我用的[glibc-vps]源的种种,结果客服还是说没办法修复,而且数据也拿不到。 ==#
悲剧了吧,傻逼了吧,没备份只能干着急了吧。正好那几天又在考试,根本没时间重新配置服务器,不得以快速装上了nginx然后放上这个页面
[……]

继续阅读~→

博客新家啦啦啦~

乔迁新居咯!撒花!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
图谋了快一年之后,终于买了VPS. 发现用国内银联储蓄卡不需认证都可以用PayPal之后,我毫不犹豫地就点开了垂涎已久的DirectSpace网站,选了最便宜的5刀VPS, 洛杉矶机房:没货 呃…
然后又点达拉斯机房,(^U^)ノ~YO

于是我就有了VPS了,付款过程很顺利啦,结果过了二十四小时都木有开通,只好发Ticket, 倒是很快就回复并且搞定了。然后发现速度很快诶,基本上所有国内运营商都有200ms左右的稳定延时,除了联通。是的,除了我现在就在用的联通!联通的线路太尼玛悲剧了,刚才ping了几个小时:

69.163.45.154 的 Ping 统计信息:
数据包: 已发送 = 8004,已接收 = 6697,丢失 = 1307 (16% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 342ms,最长 = 592ms,平均 = 431ms

总之还勉强可以用吧…
[……]

继续阅读~→

[转]让世界推迟毁灭十年的男人

值此方校长生日过去尚不就之日,转载此文以为纪念

让世界推迟毁灭十年的男人
http://luo.bo/8564/

发信人: angus (大泥巴), 信区: Joke
标 题: 让世界推迟毁灭十年的男人zz
发信站: 水木社区 (Sat May 21 11:16:41 2011), 站内

故事开始在2002年,9年以前。

那时我还从事着烤羊肉串这份有着光明前途的职业,往返于北京的大街小巷,挑着炭火炉,躲着城管。

我的梦想是开一家烧烤店,不用时时刻刻藏着一把水果刀。

那种年轻时候稚嫩的梦,早已成为了过去,现在的我,已经成为了一家网吧的老板——当然,远远没有网吧老板这么简单。

青春时的梦想啊!

都是因为他,一个在我生命中烙下重重印记的男人。
[……]

继续阅读~→