Image may be NSFW.
Clik here to view.
The task here is to get Redmine setup for a small (<20) team. There may be a few users who would access the setup as business clients. I am familiar with setting up PHP for Apache, and recently, Nginx. I am not familiar with Ruby, Ruby-On-Rails, etc. I prefer to use the OS’s (Ubuntu Linux LTS) package manager to install the different components as it takes care of dependencies and updates.
I have setup Nginx with PHP-FPM successfully and am struggling with Redmine.
As suggested here, I got Redmine running on port 3000.
# /etc/init/redmine.conf
# Redminedescription "Redmine" start on runlevel [2345]
stop on runlevel [!2345]expect daemon
exec ruby /usr/share/redmine/script/server webrick -e production -b 0.0.0.0 -d
And using the Nginx config on this page, I used Nginx to proxy requests to Webrick.
server {
listen 80;
server_name myredmine.example.com; location / {
proxy_pass http://127.0.0.1:3000; }
}
This works well locally. I wanted some opinions before trying this out on the live box (a 256 MB VPS).
Further, should I use something like monit to monitor webrick for failure?
Image may be NSFW.
Clik here to view.
You should always use monit
or similar for tools you don’t trust.
Note that webrick
is more of a reference http implementation in MRI, and doesn’t scale well at all. To the point that puppetlabs considered it could only serve up to 10-20 hosts reliably, and that’s with the nodes talking to the server only every 30 minutes !
I’ve had a great experience with Phusion Passenger on both Apache and nginx, but only Apache for production.
Mongrel is also very solid and its integration is covered on the nginx wiki.
Check more discussion of this question.