网络文化大革命前的牢骚 11

Posted by jhsea3do Fri, 25 Dec 2009 11:32:00 GMT

不知道我的动态IP计划还能坚持多久,已经有消息表明为了响应工信部下达的文件,电信正在开始逐步关闭个人ADSL用户的80端口。

虽然我是DreamHost的用户,随时都可以把blog切换过去,不过我相信那可能是我个人架站的最后一块筹码了。

P.S. 刚才写这篇文章的时候,发现我的牛肉汤烧干了,杯具中的杯具阿~

Nginx,PhusionPassenger 整合笔记(安装篇) 8584

Posted by jhsea3do Tue, 22 Dec 2009 12:11:00 GMT

我所负责公司里的一个产品是用java开发的,为了偷懒,该产品的维护及报表程序就直接用ruby开发了,至少我觉得写ruby要比写ant方便多了。

时隔一年,产品也从2.1升级到了3.0,随着产品的业务逻辑修改,这个ruby的子项目也越来越臃肿了,虽然程序运行没有问题,但因为是边学习ruby边写的所以和DRY一点关系也扯不上。

另外由于正值该产品平台版本升级过渡阶段,我们其实是需要同时维护新旧两个产品的,重写一套兼容性更好的运维报表程序是很有必要的,我用了大约2周的工作时间完成了这个工作。

nginx是由俄国人编写的轻量级WEB代理服务器,接触它也已经大半年了,在熟悉了nginx的配置及应用后,我也有打算把产品的前端从apache2迁移至nginx,一旦这么做那么必须保证目前运行tomcat和cgi程序功能不受影响。

tomcat方面自然采用了nginx的强大代理功能来配置,而cgi方面则采用phusion passenger的mod_rack方式进行替代。

下面切入正题,开始真正的安装篇,我这里使用的服务器是debian etch

STEP 1,下载 nginx tarball

$ mkdir -p ~/opt/src && sudo ln -s ~/opt/src /opt && cd ~/opt/src && wget http://nginx.org/download/nginx-0.7.64.tar.gz && tar xzvf nginx-0.7.64.tar.gz

STEP 2,下载 phusion passenger

$ sudo gem install passenger

STEP 3,安装 nginx 和 phusion passenger

$ sudo passenger-install-nginx-module --prefix=/opt/nginx/nginx-0.7.64 --nginx-source-dir=/opt/src/nginx-0.7.64

如果提示SSL库没有安装,可以执行

$ sudo aptitude install libopenssl-ruby libssl-dev

然后继续,此间安装程序会自动帮你安装nginx所需的pcre库,然后确认所有的安装提示即可,如果需要安装nginx的其他插件也可以加入自定义的参数。

STEP 4,调整 nginx 路径

$ sudo ln -s /opt/nginx/nginx-0.7.64 /opt/nginx/default

$ sudo ln -s /opt/nginx/default/sbin/nginx /usr/sbin/nginx

$ sudo ln -s /opt/nginx/default/conf /etc/nginx

STEP 5,添加 nginx init.d 脚本

这里我直接使用了debian自带的脚本。

Wordpress和Typo之间

Posted by jhsea3do Sun, 20 Dec 2009 16:47:00 GMT

之前的blog是06年时用wordpress搭建的,后来放在dreamhost上长期闲置。

使用ruby也快一年了,而且家中添置了一台小小的ubuntu server,安装了typo, 我就把blog搬了回来。

修正typo对中文标题文章支持的bug

Posted by jhsea3do Sun, 20 Dec 2009 16:17:00 GMT

刚装好typo5.4, 发现如果发表的文章采用了中文标题,则对应的permalink将只能返回404页面。

原因在于RedirectController将已经URI.decode过的参数传给了Article.find_by_permalink方法,该方法直接去查询articles表中:permalink列,所以失败。

修改方法很简单,只要修改${TYPO_ROOT}/app/models/article.rb文件第277行,将

req_params[:permalink] = params[:title]

修改为

req_params[:permalink] = URI.encode(params[:title])

即可

小站采用动态IP重新开张

Posted by jhsea3do Sun, 20 Dec 2009 15:28:00 GMT

jhsea3do@atompara:~$ dig blog.javaws.com

; <<>> DiG 9.5.0-P2.1 <<>> blog.javaws.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12888
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;blog.javaws.com.		IN	A

;; ANSWER SECTION:
blog.javaws.com.	14400	IN	CNAME	jhsea3do.dyndns.org.
jhsea3do.dyndns.org.	60	IN	A	114.92.127.231

;; Query time: 591 msec
;; SERVER: 208.67.220.222#53(208.67.220.222)
;; WHEN: Mon Dec 21 00:22:59 2009
;; MSG SIZE  rcvd: 82