My Rails app is almost finished, and it's time to deploy. This is an
area where I'm completely clueless. In the past, I've always
developed .NET windows desktop apps. I know next to nothing about web
servers, apache non-Windows operating systems. (Yeah, it's pathetic, I
know). To add to the complication, the website I built is for a
college in China (I'm a part-time Oral English teacher, and the rest
of the time I'm spending building them a website). They are currently
using a windows server with IIS for the main website (my web app is
just for the department of foreign affairs). They've offered to get a
new computer setup for this, but I'm not really sure what the ideal
Can someone help me out? Bear in mind that this is never going to be
a high volume website.
- What OS should I use? The AWDWR book suggests Linux, FreeBSD,
Solaris or Mac OS X. The only one I have any experience with is Mac
- Would a better option be to just use a web hosting service?
I've done some comparisons for my app,
and found that Linux (Ubuntu and Debian) were way faster than Windows.
Also, the MySql bindings in C make a difference of about 40% for my
For Deployment, I'm using Pen + Mongrel_cluster (Mongrel_Cluster is
always a good idea, since Rails is single-threaded out of the box).
My tests suggest that my app can take about 50 - 100 simultaneous
people with a decent response time (tested with Siege) with this
For the server, the most important component is the hard disk. This is
off course logical, since most Rails apps are data-driven.
The calculations in my app could only be sped up 10% by using an
AMD64 3800+ (originally an Intel Centrino 1.5Ghz).
But by using a very fast SATA HD, the app was sped up by more than
Hope it helped you a bit,
remember, above remarks are specific for the app I tested, it can be
seriously different for you.
my suggestion would be to install Ubuntu, or get access to a VPS that
has some linux variant. Then have a look at the deprec gem. It will
setup MySQL, Apache2, Rails, and as many mongrel clusters as you want