I want to know ideal deployment environment for a Rails 3 + ruby 1.9.2 application, considering the application would be deployed on our end and not on Heroku.
What should be the OS : Ubuntu 10.1开发者_开发问答0 or Others ? Nginx/Apache/thin ? mogrelCluster ? and other must have softwares
please suggest some best practical configuration considering moderate traffic to the site
Nginx + Passenger
should be good setup for production.
For long running processes use Nginx + Unicorn
.
My experience so far has been that Ubuntu comes out on top. Most of what you need is accessible via apt-get. CentOS would come second (alongside OS X) and RedHat last due to out of date libraries and repositories.
Tool wise TextMate on OSX and Linux, Dreamweaver is ok on PC but bear in mind there is no auto-complete on haml, sass etc.
If you go the Linux / OS X route make sure you install RVM (https://rvm.io). This will allow you to change Ruby / Rails versions on the fly and create gemsets for different applications.
Personally I use OSX to develop and test and Ubuntu for development and production stages. Capistrano is also a useful tool for revision and deployment control (http://help.github.com/deploy-with-capistrano/)
Oh and for web engine use the inbuilt Rails web server or Mongrel for development and Nginx for development / production staging (with passengers naturally!).
I am finally going with ubuntu 10.10 nginx + passenger
(If anyone has better option, please suggest )
精彩评论