Rails com FastCGI
De TeHospedia
Tutorial de como utilizar Ruby on Rails e FastCGI na TeHospedo.
Conteúdo |
[editar] Outros Artigos
- Convertendo Rails 1.2.x para 2.0
- Ativando o FastCGI com Rails
- Imagens, javascripts dentro da pasta public
- .htaccess para Rails
[editar] Como utilizar o Ruby on Rails
Para utilizar o Rails é necessário solicitar a ativaçãod uma conta SSH junto ao nosso suporte. Essa ativação é gratuita. Para usar a conta SSH é necessário conhecer alguns comandos de Linux, que são muito similares aos comandos do DOS e usar um software para conexão SSH como o Putty.
[editar] Criando e configurando uma nova aplicação
Para configurar uma nova aplicação, você deve executar alguns comandos por SSH.
Use o comando rails para criar sua aplicação. Digitando o comando abaixo você criará na pasta rails da raiz de seu FTP.
rails ~/rails
O comando abaixo é necessário para colocar a permissão correta na pasta public, que é a pasta que conterá os arquivos acessíveis via HTTP
chmod 0755 ~/rails/public
Agora é necessário criar um link que fará com que sua pasta public seja acessível dentro de seu domínio.
cd ~/public_html ln -s ~/rails/public rails
O segundo parâmetro acima define a URL http://seudominio.com.br/rails
Você também pode executar os scripts do rails, como, por exemplo, o generate e criar um controller chamado teste:
cd ~/rails ruby script/generate controller teste
Neste passo criaremos um arquivo chamado .htaccess, dentro da pasta "public" da aplicação Rails.
cd ~/rails/public touch .htaccess vi .htaccess
[editar] Código que deve ser inserido com o padrão de Fast cgi
# General Apache options
AddHandler fcgid-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI
# If you don't want Rails to look in certain directories,
# use the following rewrite rules so that Apache won't rewrite certain requests
#
# Example:
# RewriteCond %{REQUEST_URI} ^/notrails.*
# RewriteRule .* - [L]
# Redirect all requests not available on the filesystem to Rails
# By default the cgi dispatcher is used which is very slow
#
# For better performance replace the dispatcher with the fastcgi one
#
# Example:
# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
RewriteEngine On
# If your Rails application is accessed via an Alias directive,
# then you MUST also set the RewriteBase in this htaccess file.
#
# Example:
# Alias /myrailsapp /path/to/myrailsapp/public
# RewriteBase /myrailsapp
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
# In case Rails experiences terminal errors
# Instead of displaying this message you can supply a file here which will be rendered instead
#
# Example:
# ErrorDocument 500 /500.html
ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
Para salvar este arquivo: Pressione Esc, depois dois ponto ( : ) e tecla x, por fim Tecla Enter.
Agora, navege em sua aplicação em http://www.seudominio.com.br/rails/ e você deve ver a uma página escrito Congratulations.
Para ganhar velocidade, ative o FastCGI em sua aplicação.
[editar] Encerrando uma aplicação
[editar] Automático
Acesse o SSH e digite:
kill -9 `ps auxw | grep fcgi | grep $USER | awk '{print $2}'`
[editar] Manual
- Utilize o comando abaixo para exibir os processos:
ps auxw | grep fcgi
- Irá aparecer a lista de processo fcgi rodando:
USUARIO 14360 1.9 0.8 112084 35096 S Hora 0:01 /usr/bin/ruby dispatch.fcgi
- Para encerrar a aplicacao, utilize o comando:
kill -9 número do processo, neste caso:
kill -9 14360



