新天府之国一周感受
来这里一周了, 一直到处跑, 没时间静下来写东西, 甚至没什么时间摸电脑. 明天是Big day, 在Seattle的小旅馆里, 正好没什么事, 胡乱写点.
天府之国
这个题目是自己瞎编的, 按照小时候写作文的习惯, 先要破题.
据说"破题"是八股中的一环, 题外话了. 又据说四川盆地是"天府之国", 还有人说其实最早"天府之国"指的是古都长安所在的关中平原.
现在天府之国在哪? 地球人都知道, 是吧. Read more…
来这里一周了, 一直到处跑, 没时间静下来写东西, 甚至没什么时间摸电脑. 明天是Big day, 在Seattle的小旅馆里, 正好没什么事, 胡乱写点.
这个题目是自己瞎编的, 按照小时候写作文的习惯, 先要破题.
据说"破题"是八股中的一环, 题外话了. 又据说四川盆地是"天府之国", 还有人说其实最早"天府之国"指的是古都长安所在的关中平原.
现在天府之国在哪? 地球人都知道, 是吧. Read more…
与Ubuntu的upstart类似,Mac OS上提供了launchd作为后台服务的管理程序。ssh -D命令可以为用户提供sock5代理,但是每次访问网络之前,都要打开Terminal手动运行ssh命令是一件很烦的事情。加上网络条件不好,ssh频繁退出,就更烦了。Linux下有autossh+upstart/init可以选择,Mac OS下就需要借助launchd了
为了将ssh -D变成launchd管理的后台服务,配置ssh自动登录是必须的。Mac下过程与Linux不太一样,首先打开Terminal,生成用户ssh证书: Read more…
ssh除了可以提供远程登录服务之外,还可以建立主机之间的网络隧道,尤其是可以提供SOCKS代理(传说中的ssh -D)。但用ssh命令建立的隧道可能会受网络的影响而中断,不能为用户提供持续的服务。autossh正好是解决上述问题的工具:为用户提供可靠的ssh隧道服务。
在使用autossh之前,我的做法是:首先,做一个shell脚本检查相应的ssh进程是否存在,如不存在,则重新启动ssh隧道;然后,将上述脚本加入系统crontab,定时执行,例如1分钟1次。但是,用shell脚本检查有一个缺点:有时候,ssh进程虽然并没有退出,但ssh隧道已经不能正常转发报文了,shell脚本难以发现这类情况。为了避免ssh进程存在、隧道假死的问题,可以采用定时重启ssh进程并重新建立ssh隧道的方法。但重启间隔不好设置:间隔过短,导致ssh隧道用户频频掉线,影响用户使用;间隔过长,一旦隧道假死,在重启ssh服务之前会有较长的服务中断间隔。
autossh对ssh隧道的监控则更加有效。首先,在开始执行时,autossh首先创建ssh子进程,建立隧道。同时autossh作为父进程,随时监控ssh进程是否退出,一旦退出则立即启动新的ssh隧道。autossh这种做法比crontab定时检查在失效恢复速度上更具有优势。其次,autossh还会定期检查ssh隧道是否能够正确传输数据,如发现隧道假死,也会强制重启ssh,建立新的ssh隧道。 Read more…
WordPress站点运行时需要偶尔在后台定时运行一些任务,如定时发布文章,清空Cache的内容,同步别的站点的RSS Feed等。传统来说,计划任务可以通过Linux系统下的crond实现,但考虑到不是所有的网站托管服务都能让用户设定crontab,因此Wordpress中自带了一套计划任务引擎,姑且称之为WP-Cron,这是Wordpress自带的一套函数,和单独的wp-cron插件不是一回事。 Read more…
fail2ban是一款日志扫描软件, 尝试从日志中发现恶意的攻击行为, 尤其是用户名密码的失败尝试, 并可以通过iptables防火墙封禁恶意用户的IP, 以防止进一步的攻击.
最近在nginx服务器的日志中发现了很多可疑的请求, 看起来像是试图从Web服务器上发现漏洞页面:
221.204.246.105 - - [08/Sep/2010:06:45:13 +0000] "GET /dbzhedit/ewebeditor.asp HTTP/1.1" 404 5748 "-" "Mozilla/4.0" 221.204.246.105 - - [08/Sep/2010:06:45:14 +0000] "GET /edit/ewebeditor.asp HTTP/1.1" 404 5744 "-" "Mozilla/4.0" 221.204.246.105 - - [08/Sep/2010:06:45:15 +0000] "GET /ugvbadmin/edit/ewebeditor.asp HTTP/1.1" 404 5754 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:50 +0000] "GET /piqmUserReg.asp HTTP/1.1" 404 5790 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:51 +0000] "GET /UserReg.asp HTTP/1.1" 404 5786 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:52 +0000] "GET /ioifupfile_flash.asp HTTP/1.1" 404 5795 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:53 +0000] "GET /upfile_flash.asp HTTP/1.1" 404 5791 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:53 +0000] "GET /admin/zhmuupfile_flash.asp HTTP/1.1" 404 5801 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:54 +0000] "GET /admin/upfile_flash.asp HTTP/1.1" 404 5797 "-" "Mozilla/4.0" 222.189.228.42 - - [08/Sep/2010:18:10:54 +0000] "GET /admins/xvmbupfile_flash.asp HTTP/1.1" 404 5802 "-" "Mozilla/4.0" |
我觉得可以用fail2ban扫描日志中上述攻击, 并且封禁恶意用户. 首先安装fail2ban, 在Ubuntu/Debian下用apt-get一次搞定: Read more…
WordPress Mobile Pack插件为Wordpress站点提供适合移动设备浏览的页面. WPMP支持3种检测模式:
1. 根据浏览器User-Agent决定博客输出,
2. 为博客单独设置一个Mobile域名, 根据用户访问的域名决定输出,
3. 上述基于浏览器和基于域名的结合.
从3.0版本开始, WordPress支持Multisite模模式, 也就是原先的Wordpress-MU的延续. 在Multisite模式下, 可以用同一套Wordpress软件和数据库同时管理多个Blog. 通过domain_mapping插件, 还可以为每个Blog设置多个域名. domain_mapping插件可以为每个Blog设置一个主域名, 并且将其他域名的访问请求通过”Permanent Redirect”的方法重定向到主域名上, 据说这样可以提高站点的Pagerank. Anyway, 这个功能一般推荐选上, 如下图所示: Read more…
MySQL提供的Mac OS X上的安装包不能卸载,需要手动删除。到网上搜到前辈总结的过程,稍微改了改,应该可以直接运行。
#!/bin/sh sudo killall /usr/local/mysql/bin/mysqld [ -e /usr/local/mysql ] && sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo sed -i -e '/MYSQLCOM=-YES-/ d' /etc/hostconfig echo done ! |
最近将Blog升级到Wordpress 3.0. 新版本支持multisite模式, 我正好可以把几个Blog合并管理. 激活多站点模式后, WordPress管理菜单中新出现了Super Admin菜单, 下面包含Update菜单项, 在Wordpress升级后, 可以通过Update Network功能同时更新当前站点下的所有Blog.
不过最近使用Update Network功能从来没有成功过, 猜测是超时的问题. 我服务器使用的是nginx + php5-fpm, nginx的error.log中相关错误是ms-upgrade-network.php脚本产生的upstream timed out: Read more…
最近用VPN翻墙比较流行, 我也赶了一下潮流: 买了一个Linode的VPS, 安装了最新的Ubuntu Lucid (10.04), 并在上面配置了L2TP服务器.
以下虽然是在10.04上的配置过程, 但应该对其他版本的Ubuntu同样适用.
2010-09-01: Ubuntu ppa没有karmic上的openswan包, 只能自己编译了, 或是下载我预编译的版本, 参照后面说明.
L2TP(Layer 2 Tunneling Protocol)顾名思义, 是2层隧道协议. 这个协议的认证方式不是非常安全, 因此实际使用中, 往往将L2TP和IPsec结合, 客户端和服务器之间, 首先通过IPsec生成安全信道, 之后再进行L2TP协议的交互.
因此, 安装L2TP服务器, 首先需要安装IPsec软件. 目前在Linux下, 有FreeSWAN, OpenSWAN, StrongSWAN三款IPsec协议的实现. 这里我用的是OpenSWAN.
目前Ubuntu Lucid中官方自带的OpenSWAN版本是2.6.23. 可惜的是, 这个版本的OpenSWAN有bug, 无法和L2TP服务器配合使用, 必须至少升级到2.6.24以后. 因此需要安装Ubuntu提供的非官方OpenSWAN升级版. Read more…
前几天在起点的官方网站上看到Bambook的内测消息, 看看自己的帐号好像还符合盛大对内测用户的资质要求: "注册一年以上, 余额至少50元", 于是就申请了Bambook的内测.
据说这次Bambook的内测只发3500个内测邀请, 因此申请了以后我也没在意, 总认为人会很多, 肯定抽不上. 8月6号申请之后, 也一直关注邮箱和Bambook的官方网站, 看到盛大9号已经开始发送邀请码了, 而我直到12号也没收到, 因此更加放弃了.
阴差阳错, 我12号中午整理Gmail的垃圾邮件箱时, 翻出了Bambook的邀请码. 怎么就进垃圾邮件箱了呢, 也不知道多少Gmail用户没有收到邀请码. 根据盛大后来修改的规定, 邀请码24小时有效, 但是我的邀请信是9号发出的, 貌似已经过期了.
不过, 我抱着试一试的心态, 用"过期"的邀请码竟然还可以下单, 就这样上了贼船. Read more…
Recent Comments