Since I am new to rails and have developed in application in rails, so I want to know the process of deploying rails application/website on the web server. Can I deploy rails app on a shared server if the server supports RoR ? Please guide me on the process of deployment.
Thanks.
I've been working on a really easy server image for rails deploys using ubuntu12, mysql, capistrano & nginx - its pretty simple to get working - and I'd be happy to let you take it for a spin on DigitalOcean for free and guide you through the process.
You can also check out the article I wrote about setting up a simple server: How to Install Ruby on Rails on Ubuntu 12.04 LTS (Precise Pangolin) with RVM.
My suggestion: try Heroku but most of the Ruby on Rails Web Hosting offerings should support Capistrano.
My suggestion is to stay away from Heroku, it is a beginers mistake that I have learned the hardway. They charge you for everything, absolutely everything. IN example: to put SSL in your account, they will charge you 20.00 per month. Plus you need to purchase your SSL from a third party. Then you need to place the SSL to your heroku server. If you using windows forget it. They also charge you for using many postgresql functions.
Therefore, I suggest you deploy your application using Digital Ocean. There is no surprises.
Try this tutorial and you will be able to launch your rails application.
https://www.digitalocean.com/community/articles/how-to-use-mina-to-deploy-a-ruby-on-rails-application
I have some suggestion to deploy your application built upon ROR. select speedyrails.net or engineyard as your web hosting.from them you will get all the information regarding deployment
I recommend to start out with Heroku because it's free and the documentation is very clear on how to deploy the app. You don't need to configure and maintain the server. Try Heroku if you want to completely focus on developing Rails app.
However, as the app scale up, you will soon find out that Heroku become more and more expensive and sometimes it doesn't give you much flexibility. One big disadvantage of Heroku free plan is your app will "sleep" if no one use it. As the result, the first user who visit your app will experience a long wait for the server to kick up.
You can have the choice of learning Unix command and setup your own server on AWS or using managed hosting service such as Engine Yard, Rackspace.
I used AWS because it has one year free tier, enough for me to play around with S3, EC2, RDS etc. This blog shows the steps pretty clearly: http://dennissuratna.com/rails-deployment-aws1/
Spoiler Alert: If you want to use AWS and avoid all of the hassle, try cloud66.com. I've tried it for 2 weeks now and couldn't recommend more of it. It gives me the flexibility of AWS and the convenience of the prebuilt Cloud66 toolbelt(similar to Heroku CLI).