最近我们在继续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配置就可以了。

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required