Create a rails app on Ubuntu 14.04
Get the pre-requisite:
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-dev libxslt1-dev libcurl4-openssl-dev nodejs libsqlite3-dev sqlite3
mkdir ~/ruby
cd ~/ruby
wget http://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar -xzf ruby-2.4.1.tar.gz
cd ruby-2.4.1
./configure
make
sudo make install
Install Passenger and Nginx:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo nano /etc/apt/sources.list.d/passenger.list
OLD: TO REMOVE:
Insert the line :
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main
END OLD
sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update
sudo apt-get install -y nginx-extras passenger
OLD:
sudo apt-get install ruby-dev
sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev
sudo gem install railties -v 5.1.4.rc1
sudo gem install bundler
sudo gem install --no-rdoc --no-ri rails
rails new testapp --skip-bundle
Uncomment in Gemfile:
gem 'therubyracer', platforms: :ruby
bundle install
Configure Nginx:
REmove default configuration:
sudo nano /etc/nginx/sites-available/default
Comment the lines:
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
Create the configuration
sudo nano /etc/nginx/sites-available/testapp
server {
listen 80 default_server;
server_name www.mydomain.com;
passenger_enabled on;
passenger_app_env development;
root /root/testapp/public;
}
sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp
How To Deploy a Rails App with Passenger and Nginx on Ubuntu 14.04