Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blog do Marc...
Tela cheia

Tutorial Instalando e testando o Phushion Passenger 4.0 no Nginx sobre o Debian Wheezy

25 de Outubro de 2012, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
Visualizado 322 vezes

Logo DebianEste tutorial mostrara como instalar o módulo para implantação (deploy) de aplicativos web Ruby (Rails) e Python (Django) Passenger Phusion 4.0 (beta), usando o Ruby 1.9.3.194, sobre o Servidor Web de alta performance Nginx (1.3.7) no GNU/Linux Debian Wheezy 7.0 (beta 3). Para testar criaremos um pequeno aplicativo Ruby On Rails (3.2.8).

1) Preparando o Ambiente

1.1) Primeiro vamos instalar as dependências para compilação do Nginx e Passenger Phusion. Como administrador do sistema (root)

 nano /etc/apt/sources.list

Logo Phusion Passenger1.2) Acrescente as seguintes linhas no final do arquivo, salve (CTRL + o) e saia do nano (CTRL + x)

  deb http://ftp.br.debian.org/debian wheezy main contrib
  deb-src http://ftp.br.debian.org/debian wheezy main contrib

1.3) Atualize a base de pacotes local

 apt-get update

Logo Ruby1.4) Instale as dependências de compilação do Nginx e do Passenger Phusion

 apt-get build-dep nginx -y

 apt-get install ruby-passenger -y

 apt-get install git -y

2) Instalando o Phusion Passenger 4.0 beta

2.1) Baixe o código-fonte do Passenger Phusion do Git (Repositório de Código-Fonte)

  git clone https://github.com/FooBarWidget/passenger.git

2.2) Configurando, Compilando e criando o pacote Gem do Phusion Passenger

  cd passenger

  rake package

2.3) Instale a Gem do Phusion Passenger

  gem instal pkg/passenger-3.9.1.beta.gem

  OBS: Verificar o nome criado da gem listando o diretório pkg (ls -l pkg/)

3) Instalando o Nginx com suporte ao Phusion Passenger

3.1) Baixe o código-fonte do Nginx e descompacte

 cd ~

 wget -c http://nginx.org/download/nginx-1.3.7.tar.gz

 tar xvf nginx-1.3.7.tar.gz

 OBS: lembre-se de instalar o pacote do bzip2 caso não esteja instalado: apt-get install bzip2

3.2) Configure e compile o Nginx

  cd nginx-1.3.7

  ./configure --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-ipv6 --with-poll_module --with-pcre --with-http_gzip_static_module --add-module=/var/lib/gems/1.9.1/gems/passenger-3.9.1.beta/ext/nginx

  make

  make install

4) Criando uma Aplicação de Teste em Ruby on Rails

4.1) Instalando o Ruby on Rails

  gem install rails

4.2) Criando um aplicativo em Ruby on Rails

  cd /var/www

  rails new helloworld

  cd /var/www/helloworld

  bundle install

4.3) Configurando o Nginx

  Apague a configuração antiga do nginx.conf
  rm /etc/nginx/nginx.conf

  Crie/Edite um novo arquivo de configuração
  nano /etc/nginx/nginx.conf

  Acrescente ao nginx.conf

  user www-data;
  worker_processes 1;

  events { worker_connections  256; }

  http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    keepalive_timeout 90;

    passenger_root /var/lib/gems/1.9.1/gems/passenger-3.9.1.beta/;

    server {
        listen       80;
        server_name  localhost;

        passenger_enabled on;
        rails_env development;

        root /var/www/helloworld/public;

        error_log  /var/log/nginx/localhost.error.log;
        access_log /var/log/nginx/localhost.access.log;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html { root html; }
    }
  }

4.4) Iniciando o Servidor Web Nginx e testando a aplicação em Ruby on Rails

  Pare o serviço Apache2
  service apache2 stop

  Crie o diretório /var/lib/nginx/body
  mkdir -p /var/lib/nginx/body

  Inicie o Nginx
  nginx

4.5) Visite o endereço do seu servidor usando um navegador web

  http://SEU_ENDEREÇO_IP_OU_HOSTNAME

  Caso obtenha sucesso uma página web aparecera com os dizeres: "Welcome aboard. You’re riding Ruby on Rails!"


Tags deste artigo: ruby on rails debian linux nginx tutorial ruby web gnu phusion passenger software livre