$ sudo apt-get update
$ sudo apt-get install build-essential vim git-core curl
$ sudo apt-get install libcurl4-openssl-dev libx11-dev libffi-dev tcl-dev tk-dev
$ \curl -L https://get.rvm.io | bash -s
E adicione o seguinte ao seu ~/.profile:
$ vim .profile
...
# Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Rode o RVM Requirements:
$ rvm requirements
E instale todos os sources que o RVM necessita.
$ rvm install 2.0.0 # or another ruby version (1.9.2, 1.9.3)
$ gem install rails # a última versão estável é a 4.0.0
# para outras versões rode
$ gem install rails --version=3.2.13
Primeiramente instale as dependencias para o repositório ppa:
$ sudo apt-get install python-software-properties
Então adicione o repositório para o apt-get, atualize os pacotes e instale:
$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt-get update
$ sudo apt-get install nginx
Remova a configuração do site default em /etc/nginx/sites-available/default e /etc/nginx/sites-enabled/default:
$ sudo rm -f /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
Para efeito de testes, crie um projeto rails e adicione arquivos de configuração para o nginx e unicorn:
$ rails new blog
Adicione o unicorn no Gemfile e rode o bundle install:
# Gemfile
gem 'unicorn'
$ bundle install
Após o bundle completar a instalação da gem, crie 2 arquivos de configuração:
# config/nginx.conf
upstream unicorn {
server unix:/caminho/para/sua/aplicacao/tmp/unicorn.blog.sock fail_timeout=0;
}
server {
listen 80 default;
root /caminho/para/sua/aplicacao/public;
keepalive_timeout 10;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
}
# config/unicorn.rb
root = "/caminho/para/sua/aplicacao/"
working_directory root
pid "#{root}/tmp/pids/unicorn.pid"
stderr_path "#{root}/log/unicorn_error.log"
stdout_path "#{root}/log/unicorn_out.log"
listen "#{root}tmp/sockets/unicorn.sock"
worker_processes 4
timeout 30
Crie um link simbólico do arquivo config/nginx.conf para a pasta sites-enabled no diretório de configurações do nginx:
$ sudo ln -s /path/to/your/application/config/nginx.conf /etc/nginx/sites-enabled/blog
Agora que a configuração está finalizada, reinicie o Nginx:
$ sudo service nginx restart
* Restarting nginx nginx
Agora abra a url da aplicação no browser e veja funcionando.