{"id":3367,"date":"2018-04-08T07:05:58","date_gmt":"2018-04-08T07:05:58","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=3367"},"modified":"2022-12-13T16:02:47","modified_gmt":"2022-12-13T10:32:47","slug":"deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/","title":{"rendered":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04"},"content":{"rendered":"<p>Taking your hard work from localhost to the public domain is blissful for every developer. When you want to make your app available to the outside world, you can have many options and questions. Which application server to choose? which deployment tool is fast or easy? what about the web server?<\/p>\n<p>You will get answers to all those questions here. Let&#8217;s first have a brief introduction of all these tools and then we will see how to use them effectively to make deployment easy and faster.<\/p>\n<h2>Mina.<\/h2>\n<p><a href=\"http:\/\/nadarei.co\/mina\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mina<\/a> is a server automation tool or auto deployment tool. When you search for auto deployment tool, you will majorly have two options &#8211; Capistrano and Mina. I have deployed apps using Capistrano and its an awesome tool. But, now I am using Mina as it is much faster than Capistrano.<\/p>\n<blockquote><p>I am using Mina as it is much faster than Capistrano!<\/p><\/blockquote>\n<p>You may have questioned why it is faster? Mina generates the whole process as a bash script and runs remotely into the server using a single SSH session. While in Capistrano each command runs in the separate SSH session.<\/p>\n<h2>Passenger.<\/h2>\n<p>A passenger is better at handling high volume traffic than other app servers like unicorn or puma and who doesn&#8217;t want to have high volume traffic? We will be using Nginx as the web server.<\/p>\n<p>Now, let&#8217;s start deployment!<\/p>\n<p>I am assuming you have already purchased instance from AWS or DigitalOcean and have a root user and IP of the server.<\/p>\n<h3>Setting Up Your Server.<\/h3>\n<p><b>Step 1: Login as root using SSH.<\/b><\/p>\n<p>Before we do anything, let us add a new user named as <i>deploy<\/i> and give it a root permission. You need to login to remote server using SSH from your local machine.<\/p>\n<blockquote><p><code>ssh root@SERVER_IP_ADDRESS<\/code><\/p><\/blockquote>\n<p>If this is the first time your machine will not recognize the server you are logging into and will ask for your permission. Simply type <i>yes<\/i> and go ahead.<\/p>\n<p><b>Step 2: Create a new user and give root permission.<\/b><\/p>\n<blockquote><p><code>adduser deploy<\/code><\/p><\/blockquote>\n<p>You will be asked to add the password. Pick a strong password. Now, give this user <i><code>sudo<\/code><\/i> permissions.<\/p>\n<blockquote><p><code>gpasswd -a deploy sudo<\/code><\/p><\/blockquote>\n<p>Type <i>exit<\/i> and login again as <i>deploy<\/i> user using <i><code>deploy@SERVER_IP_ADDRESS<\/code><\/i> to check if everything works as expected.<\/p>\n<p><b>Step 3: Create a new folder where your application will reside.<\/b><\/p>\n<p>Check your current directory using <i><code>PWD<\/code><\/i> command and create the folder using below commands:<\/p>\n<blockquote><p><code>$ sudo mkdir -p your-app-name<br \/>\n$ sudo chown deploy:deploy your-app-name<\/code><\/p><\/blockquote>\n<p>This will create new folder in <i>\/home\/deploy<\/i> and adds permissions to it.<\/p>\n<p><b>Setting Up Our Environment For Rails.<\/b><\/p>\n<p>We will be using <i><code>rbenv<\/code><\/i> to install ruby and manage Ruby versions. You may have questioned why can&#8217;t we use RVM? rbenv is lighter than RVM and we are not going to create gemsets and we don&#8217;t want to manage gemsets. It also doesn&#8217;t have many configurations. Let&#8217;s install <i><code>rbenv<\/code><\/i>:<\/p>\n<p><b>Step 1: Installing rbenv.<\/b><\/p>\n<p>First, we need to update the installation package cache. Make sure you are logged in as <i><code>deploy<\/code><\/i> user and type below command and hit enter.<\/p>\n<blockquote><p><code>sudo apt-get update<\/code><\/p><\/blockquote>\n<p>Now, install the rbenv using below command.<\/p>\n<blockquote><p><code>sudo apt-get<br \/>\ninstall git-core<br \/>\ncurl zlib1g-dev<br \/>\nbuild-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev<br \/>\nsqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev<\/code><\/p><\/blockquote>\n<p>Now, install rbenv with the following commands:<\/p>\n<blockquote><p><code>$ cd<br \/>\n$ git clone git:\/\/github.com\/sstephenson\/rbenv.git .rbenv<br \/>\n$ echo 'export PATH=\"$HOME\/.rbenv\/bin:$PATH\"' &gt;&gt; ~\/.bash_profile<br \/>\n$ echo 'eval \"$(rbenv init -)\"' &gt;&gt; ~\/.bash_profile<br \/>\n$ git clone git:\/\/github.com\/sstephenson\/ruby-build.git ~\/.rbenv\/plugins\/ruby-build<br \/>\n$ echo 'export PATH=\"$HOME\/.rbenv\/plugins\/ruby-build\/bin:$PATH\"' &gt;&gt; ~\/.bash_profile<br \/>\n$ source ~\/.bash_profile<\/code><\/p><\/blockquote>\n<p><b>Step 2: Install Ruby.<\/b><\/p>\n<p>Install ruby with the following commands:<\/p>\n<blockquote><p><code>rbenv install -v 2.3.0<br \/>\nrbenv global 2.3.0<\/code><\/p><\/blockquote>\n<p>The first command will install Ruby and second command will set the global version of Ruby, or the version that will be used in all of our shells.<\/p>\n<p>You can check if ruby installed properly and set it using below command.<\/p>\n<blockquote><p><code>ruby -v<\/code><\/p><\/blockquote>\n<p><b>Step 3: Install Bundler and configure Javascript Runtime.<\/b><\/p>\n<p>Let&#8217;s configure it so that RubyGems will not install documentation locally for every gem that we install:<\/p>\n<blockquote><p><code>echo \"gem: --no-document\" &gt; ~\/.gemrc<\/code><\/p><\/blockquote>\n<p>Now, install <i><code>bundler<\/code><\/i><\/p>\n<blockquote><p><code>gem install bundler<\/code><\/p><\/blockquote>\n<p>Rails need Javascript runtime as asset pipeline depends on it. So, we need to install <i><code>node.js<\/code><\/i> for it. Install <i><code>node.js<\/code><\/i> using below command:<\/p>\n<blockquote><p><code>$ sudo add-apt-repository ppa:chris-lea\/node.js<br \/>\n$ sudo apt-get update<br \/>\n$ sudo apt-get install nodejs<\/code><\/p><\/blockquote>\n<p><b>Step 4: Configure Git and SSH key.<\/b><\/p>\n<p>We need to add server&#8217;s public key to GIT or Bitbucket as deployment keys to clone the repository to the server. You can generate ssh key using below command.<\/p>\n<blockquote><p><code>ssh-keygen<\/code><\/p><\/blockquote>\n<p>This will create <i><code>.ssh<\/code><\/i> folder in your home directory and create public and private key pair.<\/p>\n<p>Copy your public key via <i><code>cat \/home\/deploy\/.ssh\/id_rsa.pub<\/code><\/i>. Then, go to GitHub\/Bitbucket, open your settings and add this new SSH key.<\/p>\n<p><b>Step 5: Installing MySQL.<\/b><\/p>\n<p>Use below commands to install MySQL:<\/p>\n<blockquote><p><code>sudo apt-get update<br \/>\nsudo apt-get install mysql-server mysql-client libmysqlclient-dev<\/code><\/p><\/blockquote>\n<p>You will be asked to enter the username and password while installing MySQL. Remember the credentials as they needed when we will configure the database.<\/p>\n<p>Create a database which we will be using in <i><code>a database.yml<\/code><\/i> file after initial set up. Follow below commands to create the database. You need to enter the password which you set while installing MySQL:<\/p>\n<blockquote><p><code>$ mysql -u root -p<br \/>\nEnter password:<br \/>\nmysql&gt; CREATE DATABASE myapp-db;<\/code><\/p><\/blockquote>\n<p>Now, exit from DB console using <i><code>the exit<\/code><\/i> command.<\/p>\n<p>Now, we will install and configure Passenger and Nginx:<\/p>\n<h3>Install and Configure Phusion Passenger and Ngnix.<\/h3>\n<p><b>Step 1: Installing Passenger and Nginx.<\/b><\/p>\n<p>First, we need to install PGP key:<\/p>\n<blockquote><p><code>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7<\/code><\/p><\/blockquote>\n<p>Create an APT source file:<\/p>\n<blockquote><p><code>sudo nano \/etc\/apt\/sources.list.d\/passenger.list<\/code><\/p><\/blockquote>\n<p>This will open an empty file. Add below line to this file:<\/p>\n<blockquote><p><code>deb https:\/\/oss-binaries.phusionpassenger.com\/apt\/passenger trusty main<\/code><\/p><\/blockquote>\n<p>Save and exit with <i><code>CTRL + X<\/code><\/i>, then <i><code>Y<\/code><\/i>, then <i><code>ENTER<\/code><\/i>.<\/p>\n<p>Update the owner and permissions of the file:<\/p>\n<blockquote><p><code>$ sudo chown root: \/etc\/apt\/sources.list.d\/passenger.list<br \/>\n$ sudo chmod 600 \/etc\/apt\/sources.list.d\/passenger.list<\/code><\/p><\/blockquote>\n<p>Now, install Passenger with Ngnix:<\/p>\n<blockquote><p><code>$ sudo apt-get update<br \/>\n$ sudo apt-get install nginx-extras passenger<\/code><\/p><\/blockquote>\n<p>This last bit may overwrite the Ruby version to an older one. If so, you need to remove the incorrect Ruby location and create a new symlink to the correct Ruby binary file:<\/p>\n<blockquote><p><code>$ sudo rm \/usr\/bin\/ruby<br \/>\n$ sudo ln -s \/usr\/local\/bin\/ruby \/home\/deploy\/.rbenv\/shims\/ruby<\/code><\/p><\/blockquote>\n<p><b>Step 2: Configuring the Nginx.<\/b><\/p>\n<p>Open the Nginx configuration file in your text editor:<\/p>\n<blockquote><p><code>sudo nano \/etc\/nginx\/nginx.conf<\/code><\/p><\/blockquote>\n<p>Find and uncomment the following lines or add below lines in <i>http<\/i> block:<\/p>\n<blockquote><p><code>passenger_root \/usr\/lib\/ruby\/vendor_ruby\/phusion_passenger\/locations.ini;<br \/>\npassenger_ruby \/home\/deploy\/.rbenv\/shims\/ruby;<\/code><\/p><\/blockquote>\n<p>Save and exit with <i><code>CTRL + X<\/code><\/i>, then <i><code>Y<\/code><\/i>, then <i><code>ENTER<\/code><\/i>.<\/p>\n<p>Now, disable the default Nginx configuration.<\/p>\n<blockquote><p><code>sudo nano \/etc\/nginx\/sites-available\/default<\/code><\/p><\/blockquote>\n<p>Comment out the following two lines in <i><code>server<\/code><\/i> block. Save and exit.<\/p>\n<blockquote><p><code>listen 80 default_server;<br \/>\nlisten [::]:80 default_server ipv6only=on;<\/code><\/p><\/blockquote>\n<p>Now we need to create a custom Nginx configuration file for our app:<\/p>\n<blockquote><p><code>$ sudo nano \/etc\/nginx\/sites-available\/your-app-name<\/code><\/p><\/blockquote>\n<p>To this file, we need to add a below server block:<\/p>\n<blockquote><p><code>server {<br \/>\nlisten 80 default_server;<br \/>\nserver_name SERVER_IP_ADDRESS;<br \/>\npassenger_enabled on;<br \/>\npassenger_app_env production;<br \/>\nroot \/home\/deploy\/your-app-name\/current\/public;<br \/>\n}<\/code><\/p><\/blockquote>\n<p>Save and exit with <i><code>CTRL + X<\/code><\/i>, <i><code>Y<\/code><\/i>, <i><code>ENTER<\/code><\/i>.<\/p>\n<p>Create a symlink for it:<\/p>\n<blockquote><p><code>sudo ln -s \/etc\/nginx\/sites-available\/your-app-name \/etc\/nginx\/sites-enabled\/your-app-name<\/code><\/p><\/blockquote>\n<p>Restart the Nginx.<\/p>\n<blockquote><p><code>sudo nginx -s reload<\/code><\/p><\/blockquote>\n<h4>Setup Mina to Deploy your App on Server.<\/h4>\n<p>Please note that now we are doing all the operations in our local machine, not on the server.<\/p>\n<p><b>Step 1: Install Mina gem and configure it<\/b><\/p>\n<p>You don&#8217;t necessarily add gem into gem file. You can install it using below command:<\/p>\n<blockquote><p><code>gem install mina<\/code><\/p><\/blockquote>\n<p>Then run:<\/p>\n<blockquote><p><code>mina init<\/code><\/p><\/blockquote>\n<p>It will generate <i><code>deploy.rb<\/code><\/i> file in <i><code>config<\/code><\/i> folder which contains the basic configuration of deployment. Here is the file with all required configuration.you can edit it as per your need.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/prsanjay\/e44b62826f0554d19cd9bc73dd3814df.js\"><\/script><\/p>\n<p>In this file, we have added <i><code>database.yml<\/code><\/i>, <i><code>application.yml<\/code><\/i>, <i><code>log<\/code><\/i> folder, and <i><code>tmp<\/code><\/i> folder in a shared path to copy them to a server.<\/p>\n<p>Now, run the following command in your app directory for initial setup.<\/p>\n<p><b>Step 2: Set up Mina.<\/b><\/p>\n<blockquote><p><code>mina setup<\/code><\/p><\/blockquote>\n<p>This will ask for your remote server&#8217;s password. Enter it and hit enter.<\/p>\n<p>This will automatically log in to the server and create two folders <i><code>shared<\/code><\/i> and <i><code>releases<\/code><\/i> inside <i><code>\/home\/deploy\/your-app-name<\/code><\/i> directory.<\/p>\n<p>This will save <i><code>database.yml<\/code><\/i> and <i><code>application.yml<\/code><\/i> to <i><code>\/home\/deploy\/your-app-name\/shared\/config<\/code><\/i> folder.<\/p>\n<p>Log in to a server using <i><code>deploy<\/code><\/i> user and edit content of <i><code>database.yml<\/code><\/i> and set your configuration.<\/p>\n<blockquote><p><code>production:<br \/>\nadapter: mysql2<br \/>\nencoding: utf8<br \/>\ndatabase: myapp-db<br \/>\nusername: root<br \/>\npassword: root<br \/>\npool: 10<br \/>\nreconnect: true<\/code><\/p><\/blockquote>\n<p>Here, <i><code>application.yml<\/code><\/i> is the file created using Figaro gem.<\/p>\n<p>Now, its time to deploy our application after long configuration. Use below command in your application directory and in your local machine.<\/p>\n<blockquote><p><code>mina deploy<\/code><\/p><\/blockquote>\n<p>The first time it will take a bit more time but after the initial set up it will make your deployment much faster!<\/p>\n<p>Also, this command will create a new directory <i>currently<\/i> in <i>\/home\/deploy\/your-app-name<\/i><\/p>\n<p>If everything works as expected you can visit your <i><code>SERVER_IP_ADDRESS<\/code><\/i> in the browser like this <i><code>http:\/\/SERVER_IP_ADDRESS<\/code><\/i> and you can see your beloved application!<\/p>\n<p>Thank you for reading!<\/p>\n<p><strong><a href=\"https:\/\/www.botreetechnologies.com\/ruby-on-rails-development\" target=\"_blank\" rel=\"noopener noreferrer\">Click here for more details&#8230;<\/a><\/strong><\/p>\n<hr \/>\n<p>At <a href=\"https:\/\/www.botreetechnologies.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">BoTree Technologies<\/a>, we build enterprise applications with our RoR team of 25+ engineers.<\/p>\n<p>We also specialize in RPA, AI, Python, Django, JavaScript and ReactJS.<\/p>\n<h3><a href=\"https:\/\/www.botreetechnologies.com\/contact\" target=\"_blank\" rel=\"noopener noreferrer\">Consulting is free<\/a> &#8211; let us help you grow!<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Taking your hard work from localhost to the public domain&#8230;<\/p>\n","protected":false},"author":8,"featured_media":13636,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,10],"tags":[],"class_list":["post-3367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby-on-rails","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04<\/title>\n<meta name=\"description\" content=\"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04\" \/>\n<meta property=\"og:description\" content=\"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\" \/>\n<meta property=\"og:site_name\" content=\"BoTree Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BoTreeTechnologies\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-08T07:05:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-13T10:32:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sanjay Prajapati\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:site\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sanjay Prajapati\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\"},\"author\":{\"name\":\"Sanjay Prajapati\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3\"},\"headline\":\"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04\",\"datePublished\":\"2018-04-08T07:05:58+00:00\",\"dateModified\":\"2022-12-13T10:32:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\"},\"wordCount\":1233,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg\",\"articleSection\":[\"Ruby on Rails\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\",\"name\":\"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg\",\"datePublished\":\"2018-04-08T07:05:58+00:00\",\"dateModified\":\"2022-12-13T10:32:47+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3\"},\"description\":\"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg\",\"width\":1920,\"height\":1280,\"caption\":\"Deploy your Rails App\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/\",\"name\":\"BoTree Technologies\",\"description\":\"Committed to inspire generation.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3\",\"name\":\"Sanjay Prajapati\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png\",\"caption\":\"Sanjay Prajapati\"},\"description\":\"Sanjay is a Ruby on Rails Engineer, who also works with Javascript and React. He has strong experience in working with domains like eCommerce, Health and Insurance. In his spare time, he enjoys reading and writing blogs and he is excited to help add the company to his list of successes.\u200b\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04","description":"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/","og_locale":"en_US","og_type":"article","og_title":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04","og_description":"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.","og_url":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2018-04-08T07:05:58+00:00","article_modified_time":"2022-12-13T10:32:47+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg","type":"image\/jpeg"}],"author":"Sanjay Prajapati","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Sanjay Prajapati","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/"},"author":{"name":"Sanjay Prajapati","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3"},"headline":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04","datePublished":"2018-04-08T07:05:58+00:00","dateModified":"2022-12-13T10:32:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/"},"wordCount":1233,"commentCount":0,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg","articleSection":["Ruby on Rails","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/","url":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/","name":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg","datePublished":"2018-04-08T07:05:58+00:00","dateModified":"2022-12-13T10:32:47+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3"},"description":"Let\u2019s first have brief introduction of all this tools and then we will see how to use them effectively to make deployment easy and faster.","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2018\/04\/ails-application-faster.jpg","width":1920,"height":1280,"caption":"Deploy your Rails App"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/deploy-your-rails-application-faster-with-mina-phusion-passenger-ngnix-and-mysql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploy your Rails App faster with Mina, Phusion Passenger, Ngnix and MySQL on Ubuntu 14.04"}]},{"@type":"WebSite","@id":"https:\/\/www.botreetechnologies.com\/blog\/#website","url":"https:\/\/www.botreetechnologies.com\/blog\/","name":"BoTree Technologies","description":"Committed to inspire generation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/b628623fa9d946d2258f506a476b45e3","name":"Sanjay Prajapati","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/sanjay-prajapati-150x150.png","caption":"Sanjay Prajapati"},"description":"Sanjay is a Ruby on Rails Engineer, who also works with Javascript and React. He has strong experience in working with domains like eCommerce, Health and Insurance. In his spare time, he enjoys reading and writing blogs and he is excited to help add the company to his list of successes.\u200b"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=3367"}],"version-history":[{"count":2,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3367\/revisions"}],"predecessor-version":[{"id":18254,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3367\/revisions\/18254"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/13636"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=3367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=3367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=3367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}