最近我们在继续3P的开发。为了追踪3P的开发,我们还是在用Redmine。发现WEBrick
速度慢的无法忍受,老Ruby 1.8
内存泄露非常严重,于是选择自己编译Ruby
,打内存补丁,升级Redmine
,配置Thin
以及反向代理服务器。
首先,配置好lighttpd
,如何配置不赘述。
然后,编译Ruby 1.8.7
。记得打MBARIp72patches
(链接被墙)。我的编译参数是
./configure --bindir=/usr/bin --sysconfdir=/etc --includedir=/usr/include --libdir=/usr/lib CFLAGS=-O2 -fno-stack-protector -fomit-frame-pointer
我是很折腾的。-O3
似乎速度快不了特别多,而且编译速度慢。考虑到这是个比较便宜的VPS,还是算了吧……
接着,安装Redmine
。应当参考Redmine
的Wiki内容。简单的说,安装Redmine
的步骤是用svn抓回源码包,用RubyGems
安装上去依赖,配置好数据库以及邮件服务器。我使用的MySQL
,配置文件如下:
production: adapter: mysql database: DATABASE_NAME host: localhost username: USER password: PASS encoding: utf8
请自行修改参数。E-Mail我选择了用sendmail
。注意修改sendmail
配置文件,否则你的mail服务器被当作垃圾邮件中转服务器了我可不负责任。
生成数据库什么的可以继续参考官方文档。
Thin
可以通过rubygems
安装。假设你的Redmine
在/srv/redmine
,则使用
thin config -C /srv/redmine/redmine.yml -c /srv/redmine --servers 1 -e production
生成配置文件。
使用thin -C /srv/redmine/redmine.xml -e production
启动。如果你看到了下面的东西,请确认rake
只有1.0.1版本。使用gems
可以卸载其他版本的rake
.
web# thin start
>> Using rails adapter
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
接着,将thin -C /server/redmine/redmine.yml start
一行加入启动脚本。
最后,配置lighttpd作为反向代理服务器。这里直接贴出来我的配置:
$HTTP["host"] == "redmine.osqdu.org" { $HTTP["url"] =~ "^/((images|stylesheets|javascripts|assets)/(.*)$|(favicon\.ico|robots\.txt))" { server.document-root = "/srv/redmine/public/" } proxy.balance = "hash" proxy.server = ( "" => ( ( "host" => "127.0.0.1" , "port" => "3000" ) ) ) }
这样,重载lighttpd
配置就可以了。