Mongrel Cluster -> mod_rails
Passenger (aka. mod_rails) is the new Big Deal™ these days. Besides the performance benefits it's also simpler to setup and maintain (read: no maintenance). I decided to take the leap on a client's server this weekend and so far (*fingers crossed*) there hasn't been a single issue!
Shocked is the most apt description of the look on my face after installing this excellent gem. It went down like this:
-
Remove all the mongrel cluster crap from
/etc/apache2/sites-enabled/pcw. Especially satisfying was removing all theBalancerMember http://127.0.0.1:8000-ish stuff. -
A couple of changes to the actual environment:
# aptitude remove apache2-mpm-worker # aptitude install apache2-mpm-prefork # aptitude install apache2-prefork-dev
-
Install passenger gem:
# gem install passenger
-
Get the apache module configured and installed:
# /var/lib/gems/1.8/bin/passenger-install-apache2-module
-
Put the new configuration in place of the 150 or so lines removed in step 1:
<VirtualHost *:80> ServerName domain.com DocumentRoot /path/to/rails/app/public </VirtualHost>
- Remove anything that auto-loads/boots up the mongrel instances.
- Finally, due to using Windows from age 10 to about age 20, I felt the urge to reboot, but probably I could have just restarted apache.
And that should do it. You can remove your mongrel cluster configuration files and all that stuff, but I just left it there just to cover the possibility of having to go back (unlikely at this point).
We noticed a significant performance boost over the next day, in hindsight
I think I had too few mongrels running in the original configuration.
The only real hiccup was having to replace apache2-mpm-worker
with -prefork, it seems that Ubuntu Server Edition comes with
the former, and passenger complained about only being tested
with the latter. After that everything kind of 'just worked', and I was
delighted :)