Rails application server and deployment details
Published 10/01/2008 – Programming Software – 0 comments
This September I deployed two Rails applications, each using different server software, and wanted to share some details from each of the deployments. Much of what is below was new to me while I was working on these projects.
Personal project
- Ubuntu Gutsy (7.10)
- Hosted on slicehost
- Apache 2.2
- MySQL 5
- Phusion Passenger (a.k.a. modrails)
- Hoptoad exception and error reporting
A 256MB slice runs this low traffic application OK. For two or more applications, more memory is preferred. I developed this application under Git version control. The project source is hosted on github.
Work project
- Ubuntu Hardy (8.04)
- Hosted on Amazon EC2
- Asset storage on Amazon S3
- nginx web server (static assets and basic load balancing)
- PostgreSQL 8.3
- mongrel application servers
- Sphinx 0.9.8 search engine
- server monitoring via monit
- server backups via s3sync and cron
The staging server for the development of this application was running CentOS Linux.
The Amazon EC2 "Small Instance" has 1.8GB RAM as of this writing. Our application puts a small load on the server, even with many mongrels running. This application was developed under Subversion version control. The project source is hosted internally.
Both applications send email. For my personal project I configured postfix. Deployment for both applications was managed with capistrano.
0 comments