Last active
August 29, 2015 14:00
-
-
Save orendon/11443646 to your computer and use it in GitHub Desktop.
tux commands, nginx phusion passenger guide
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Deploying Ruby on Rails applications using Nginx and Phusion Passenger | |
# | |
# guideline commands were tested on ubuntu 14.04 server, ruby 2.1.1 and rails 4.1# | |
# | |
# create user on sudoers | |
useradd -d /home/orendon -s /bin/bash -G sudo -m orendon | |
# add 1024mb swap | |
sudo dd if=/dev/zero of=/swap bs=1M count=1024 | |
sudo mkswap /swap | |
sudo swapon /swap | |
/swap none swap defaults 0 0 # /etc/fstab | |
# ~/.gemrc | |
gem: --no-rdoc --no-ri | |
# commons | |
sudo apt-get install git nodejs libsqlite3-dev | |
# setup rbenv and ruby-build | |
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv | |
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc | |
echo 'eval "$(rbenv init -)"' >> ~/.bashrc | |
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build | |
# Install latest ruby (2.1.1) | |
# fix not suitable C compiler, ssl errors during rbenv install | |
# see: https://github.com/sstephenson/ruby-build/issues/528 and https://github.com/sstephenson/ruby-build/issues/526#issuecomment-37933242 | |
# NOTE: issue solved on ruby 2.1.2 https://www.ruby-lang.org/en/news/2014/05/09/ruby-2-1-2-is-released/ | |
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6 libreadline6-dev zlib1g zlib1g-dev | |
# downgrade to readline-6.2 or include this patch | |
curl -fsSL https://gist.github.com/mislav/a18b9d7f0dc5b9efc162.txt | rbenv install --patch 2.1.1 | |
# install passenger and nginx | |
apt-get install libcurl4-openssl-dev | |
git clone git://github.com/dcarley/rbenv-sudo.git ~/.rbenv/plugins/rbenv-sudo | |
rbenv global 2.1.1 | |
gem install bundler | |
gem install passenger | |
rbenv sudo passenger-install-nginx-module | |
# nginx startup scripts (aka nginx: unrecognized service) | |
wget -O init-deb.sh http://library.linode.com/assets/660-init-deb.sh | |
sudo mv init-deb.sh /etc/init.d/nginx | |
sudo chmod +x /etc/init.d/nginx | |
sudo /usr/sbin/update-rc.d -f nginx defaults | |
sudo service nginx start | |
# update nginx config | |
sudo vi /opt/nginx/conf/nginx.conf | |
user orendon; | |
worker_processes 2; | |
http { | |
gzip on; | |
server_names_hash_bucket_size 64; | |
passenger_root /home/orendon/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/passenger-4.0.41; | |
passenger_ruby /home/orendon/.rbenv/shims/ruby; | |
server { | |
listen 80; | |
server_name some_site.domain.com; | |
root /home/orendon/apps/some_site/public/; | |
passenger_enabled on; | |
passenger_app_env production; | |
} | |
} | |
# Install PG (9.3.5) | |
sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3 postgresql-contrib-9.3 | |
sudo -s postgresql | |
createuser -P -s -e pgdev | |
exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment