Forked from fytzzz/Installing RVM + Ruby + Rails + Passenger + nginx on CentOS
Created
August 11, 2012 00:32
-
-
Save utf/3319340 to your computer and use it in GitHub Desktop.
Installing RVM + Ruby + Rails + Passenger + nginx on CentOS
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
#Steps to install RVM + Ruby 1.9.3 + Rails + nginx + Passenger on CentOS (tested on v5.5) | |
# Todo get up to date repo's | |
# Install git and curl, if not already installed | |
sudo yum install git | |
sudo yum install curl-devel | |
# Create the rvm group and add any users who will be using rvm to the group | |
sudo su - | |
groupadd rvm | |
# Start by adding the root user (required to install RVM) | |
usermod -a -G rvm root | |
# TODO No longer works, new method of install | |
# Install RVM (system wide) | |
sudo bash < <( curl -L http://bit.ly/rvm-install-system-wide ) | |
# Add this line to the end of any user who needs access to RVM's .bash_profile | |
# this will add it to the end of the current user's profile | |
echo '[[ -s "/usr/local/lib/rvm" ]] && . "/usr/local/lib/rvm" # This loads RVM into a shell session.' >> ~/.bash_profile | |
source ~/.bash_profile | |
type rvm | head -1 # should print 'rvm is a function' | |
# I ran this to install ruby dependencies, as per instructions in `rvm notes` | |
sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel | |
# Install Ruby 1.9.3 | |
sudo rvm install 1.9.3 | |
# Set the RVM default to 1.9.3 | |
rvm --default use 1.9.3 | |
ruby -v # should return the version of ruby we're using | |
# Now, install Rails and Passenger | |
gem install rails passenger | |
# Install nginx with Passenger support. Press 1 when prompted | |
rvmsudo passenger-install-nginx-module | |
# Set up a nginx init script -- I used the one found here: http://articles.slicehost.com/2009/2/2/centos-adding-an-nginx-init-script | |
# and modified the nginx and NGINX_CONF_FILE variables to point to my nginx install (which is in /opt/nginx) | |
cd /etc/init.d | |
sudo wget -O nginx http://bit.ly/8XU8Vl | |
sudo chmod +x nginx | |
# set nginx to start automatically when the server restarts | |
sudo /sbin/chkconfig nginx on | |
# the mysql gem requires mysql-devel | |
sudo yum install mysql-devel | |
gem install mysql | |
# the pg gem requires postgresql-devel | |
sudo yum install postgresql-devel | |
gem install pg | |
# Sources | |
# http://constantshift.com/rails-3-0-on-mt-media-temple-ve-server-rvm-nginx-passenger/ | |
# http://articles.slicehost.com/2009/2/2/centos-adding-an-nginx-init-script | |
# http://rvm.beginrescueend.com/deployment/system-wide/ (also see the 'Commnunity Resources' links at the bottom of the page) | |
# http://rvm.beginrescueend.com/rvm/install/ | |
# http://blog.blenderbox.com/2011/01/07/installing-rvm-ruby-rails-passenger-nginx-on-centos/ |
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
#Steps to install RVM + Ruby 1.9.2 + Rails + nginx + Passenger on CentOS (tested on v5.5) | |
# Install git and curl, if not already installed | |
sudo yum install git | |
sudo yum install curl | |
# Create the rvm group and add any users who will be using rvm to the group | |
sudo su - | |
groupadd rvm | |
# Start by adding the root user (required to install RVM) | |
usermod -a -G rvm root | |
# Then add any other users who need access to to the rvm group and logout of the superuser account | |
logout | |
# Install RVM (system wide) | |
sudo bash < <( curl -L http://bit.ly/rvm-install-system-wide ) | |
# Logout, then log back in (I found that my user did not belong to the RVM group until I did this) | |
logout | |
# Now that you have RVM installed, follow post-install instructions here: http://rvm.beginrescueend.com/rvm/install/ | |
# * but change the RVM path to /usr/local/lib/rvm | |
# Add this line to the end of any user who needs access to RVM's .bash_profile | |
# this will add it to the end of the current user's profile | |
echo '[[ -s "/usr/local/lib/rvm" ]] && . "/usr/local/lib/rvm" # This loads RVM into a shell session.' >> ~/.bash_profile | |
source ~/.bash_profile | |
type rvm | head -1 # should print 'rvm is a function' | |
# I ran this to install ruby dependencies, as per instructions in `rvm notes` | |
sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel | |
# Install Ruby 1.9.2 | |
sudo rvm install 1.9.2 | |
# Set the RVM default to 1.9.2 | |
rvm --default use 1.9.2 | |
ruby -v # should return the version of ruby we're using | |
# Now, install Rails and Passenger | |
gem install rails passenger | |
# Install nginx with Passenger support. Press 1 when prompted | |
rvmsudo passenger-install-nginx-module | |
# Set up a nginx init script -- I used the one found here: http://articles.slicehost.com/2009/2/2/centos-adding-an-nginx-init-script | |
# and modified the nginx and NGINX_CONF_FILE variables to point to my nginx install (which is in /opt/nginx) | |
cd /etc/init.d | |
sudo wget -O nginx http://bit.ly/8XU8Vl | |
sudo chmod +x nginx | |
# set nginx to start automatically when the server restarts | |
sudo /sbin/chkconfig nginx on | |
# the mysql gem requires mysql-devel | |
sudo yum install mysql-devel | |
gem install mysql | |
# the pg gem requires postgresql-devel | |
sudo yum install postgresql-devel | |
gem install pg | |
# Sources | |
# http://constantshift.com/rails-3-0-on-mt-media-temple-ve-server-rvm-nginx-passenger/ | |
# http://articles.slicehost.com/2009/2/2/centos-adding-an-nginx-init-script | |
# http://rvm.beginrescueend.com/deployment/system-wide/ (also see the 'Commnunity Resources' links at the bottom of the page) | |
# http://rvm.beginrescueend.com/rvm/install/ | |
# http://blog.blenderbox.com/2011/01/07/installing-rvm-ruby-rails-passenger-nginx-on-centos/ |
I'm able to run the nginx, passenger on centos 6.4 perfectly fine. I'm also able to run this sample app
mkdir -p /var/www/racktest
mkdir /var/www/racktest/tmp
mkdir /var/www/racktest/public
vi /var/www/racktest/config.ru
app = proc do |env|
[200, { "Content-Type" => "text/html" }, ["hello world this is a test"]]
end
run app
Now when I create rails app
rails new todo
and point my public folder location to my nginx.conf root location, i'm getting a error page.
Some problem with config.ru i know , unable to figure out!
Help will be appreciated!
start-stop-daemon is not available on centOS by default. Try a different init.d/nginx script. This is a good one: https://github.com/useruby/rails-nginx-passenger-centos/blob/master/nginx/nginx
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
sudo bash < <( curl -L http://bit.ly/rvm-install-system-wide )
should becurl -L https://get.rvm.io | bash -s stable --autolibs=enabled [--ruby] [--rails] [--trace]