Deployment of Rails App on DigitalOcean with Capistrano, Nginx and Passenger - Part 3

In previous articles, we have seen how to setup droplet on DO and installation of Nginx with the passenger. Capistrano provides you advanced tools to deploy your applications on the web server. It also allows you to perform pre and post-deployment steps such as restarting a web server, running migrations, deleting cache, etc. You can also write your custom task to run while deployment. Capistrano takes your code from version control such as Git and copies it onto your server via SSH. In this article, we will, be covering basic steps to deploy your application on a single server from

Deployment of Rails App on DigitalOcean with Capistrano, Nginx and Passenger - Part 2

In the previous article, we have seen how to configure DigitalOcean Droplet. Now let's proceed further to set up our application repository and Ngnix with Phusion Passenger on the DigitalOcean droplet. 1. Install RVM and Ruby We will install ruby using Ruby Version Manager(RVM) as it gives more flexibility to manage multiple ruby versions on the same system over rbenv, chruby, etc. Import RVM GPG key, before installing RVM: gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 Then, install RVM: curl -sSL https://get.rvm.io | bash -s stable Load RVM script and run requirement command to manage the

Deployment of Rails App on DigitalOcean with Capistrano, Nginx and Passenger - Part 1

Nginx is a lightweight, high-performance web server. Passenger used with Nginx gives us many advantages. It automatically serves static assets from the public subdirectory to improve performance. Capistrano is used to automate deployment process to your remote server. Using Capistrano, you can deploy your web application on many servers simultaneously in sequence or as a rolling set. In this article, we will see basic steps that need to be followed to configure your DigitalOcean Ubuntu Droplet. Prerequisites: Ubuntu 16.04 x64 Droplet Working Rails app hosted in a remote git repository that's ready to be deployed Initial setup for the