文章归档

[贴图同步]辐射点来一发

拍摄时间:December 15, 2013 at 11:02AM 原图链接: http://flic.kr/p/imYJ1R

[……]

继续阅读~→

[贴图同步]我也踏上这条不归路了……

拍摄时间:May 30, 2013 at 06:31AM 原图链接: http://flic.kr/p/ewD6Vd

[……]

继续阅读~→

To Enrich myLife

阴天教前天换届了…淋着打伞觉得没必要不打又觉得不爽的毛毛雨,提着湿漉漉的伞回到寝室,磨磨蹭蹭把电脑打开一看,错误691,上网帐号欠费了。
把手机卡卸出来用毕竟只能是应急的,就算是3G也实在用着苦逼,于是哈欠连天地想着干脆写博客消磨时间好了。

周四晚上收到邮件说25号下午组织两场模拟口试,可以去先行体验,然后正好又拿到了普通话考试的准考证,和口试时间一模一样:26号09:00. 于是就没什么好犹豫的了,周五和母上打电话汇报了一声,然后就买了第二天上午去天津的票,接着顺手定了个房间。

坐着普快一路到天津站,出来转地铁,然后走路,然后迷路,然后绕路…然后在终于对股沟地图给的建议路线绝望继而打电话给7天前台问地址的时候[……]

继续阅读~→

三七二十一

总觉得还是应该保持每年生日一篇博客的习惯。
二十一岁,突然感觉自己……原来已经长这么大了啊……

嗯,说说近况吧,基本上就是社团这头基本上可以脱手了,另一边GSoC刚交了申请还不知道会是个什么展开。

暂时好像也没什么了,我很好,勿念。
祝我生日快乐[……]

继续阅读~→

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小时]了…

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

继续阅读~→

写了个简单的 shadowsocks 退出自动重启脚本

screen在 VPS 上跑 shadowsocks, 不过时不时会退出然后需要我上去重启,很麻烦,于是就搞了个定时检测 shadowsocks 是否在运行,如果没有就自动重启的脚本。

然后在cron任务里面写上一句 */1 * * * * root bash /some/path/autostart.sh 就可以每分钟自动执行了,而且这样还能变相实现开机自动启动,所以就算服务器意外重启也不怕了。

如果觉得异常退出过后一分钟启动的间隔太长,当然也可以写成死循环:

就可以每5秒检查一次了,但这样[……]

继续阅读~→

从 MySQL 迁移到 MariaDB

“Because Oracle is Oracle is Oracle()”[?]

ArchLinux 昨天宣布将使用 MariaDB 作为 MySQL 的默认提供包,openSUSE 已经在新近发布的12.3版中默认使用 MariaDB, 连 Fedora 也正在考虑更换为 MariaDB.

于是我决定把我的所有服务器从 MySQL 迁移到 MariaDB.

对 Arch 用户来说很简单,照着官方新闻里面的来就是了:

而对于 openSUSE 就更傻瓜式了,毕竟是默认的嘛: zypper in mariadb 一句就够。

至于 Debian/Ubuntu 用户就要稍微复杂一些,不过整个过程还是很流畅的:
[……]

继续阅读~→

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

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

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

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

继续阅读~→

新装系统 Win8 与声卡那点纠结的记录

好吧我换系统了,因为换了个新硬盘神马的。然后就想着干脆装 Win8 吧。

装系统一切都好,什么都很正常很顺利那样,结果完了我想看番的时候发现…耳机没声音……
囧死了好吧。

长话短说,试过了网上提到的多种方法,有些是用了无解,有些是不适用我的情况。

我的声卡是 Reltek ALC 269 机子是华硕 N53Jf.

折腾一整天,重装三次系统之后,问题确定:Reltek 官方驱动与 Win8 不兼容。
是滴你没看错,最新版写着支持 Windows 8 的那个也不行,只有外放有声音耳机不行。

解决方案是装好系统过后静置,等系统自己联网下载微软的驱动。

真疼。[……]

继续阅读~→

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

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

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

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

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

继续阅读~→