Facilite o desenvolvimento com o Phusion Passenger
Criado por Floor Drees, @floordrees
Traduzido por Frankyston Lins, @frankyston
Há um servidor de aplicativos para isso
Certifique-se de seguir o Coloque seu App no GitHub antes de continuar.
Este guia é para facilitar o desenvolvimento de seu aplicativo (você sabe, a funcionalidade de adição e, em seguida vamos verificar se ele realmente funciona), com o Passenger. O framework Ruby on Rails fornece uma ferramenta de servidor embutida, que você pode acessar com o comando rails server
. O “servidor rails” não é um servidor de aplicativos sozinho, mas apenas um pequeno wrapper que inicia seu aplicativo em um servidor de aplicativos. As pessoas não usam o “servidor rails” em produção (onde outras pessoas podem acessar e usar seu aplicativo) e sim um servidor de aplicativos, como o Passenger.
INSTRUTOR(A): O Passenger é um servidor de aplicativos da Web de código aberto. Ele lida com solicitações HTTP, gerencia processos e recursos e permite administração, monitoramento e diagnóstico de problemas. Para os grandes desenvolvedores, também há uma edição empresarial.
Preparando seu app
Instalando a gem Passenger
Abra o Gemfile
do seu app e adicione o “passenger”:
Adicionando o Passenger no Gemfile, o comando rails server
iniciará o Passenger no lugar do Puma.
Você recebe pontos de bônus virtuais da equipe do Phusion Passenger por excluir as seguintes linhas (caso estejam presentes no seu Gemfile):
Execute bundle install
para atualizar seus pacotes.
O texto no seu terminal deve dizer algo como isto:
O Nginx e o Apache são servidores da web. Eles fornecem manipulação de transações HTTP e servem arquivos estáticos. Os servidores de aplicativos possibilitam que aplicativos Ruby falem HTTP. Aplicativos Ruby (e frameworks como o Rails) não podem fazer isso sozinhos. Em uma pilha de produção típica, seria usado o Nginx ou o Apache como o servidor da Web, o Passenger como servidor de aplicativos, e o Capistrano como ferramenta de automação de lançamento. O Passenger integra-se ao Nginx ou ao Apache e gerencia o aplicativo e seus recursos.
INSTRUTOR(A): Às vezes você precisará especificar a versão da gem: gem "passenger", ">= 5.0.25", require: "phusion_passenger/rack_handler"
Vamos checar se isso funcionou
Execute o servidor Passenger com o seguinte comando:
O passageiro está veiculando seu aplicativo em http://0.0.0.0:3000/. Experimente e use um pouco seu aplicativo e execute “bundle exec passage-status” para verificar sua atividade.
Existem duas maneiras de parar o servidor. O primeiro é pressionando Ctrl-C no terminal. A segunda maneira é executar passenger stop
em uma nova janela de terminal:
Quando você voltar para o primeiro terminal, você verá que o passageiro realmente parou.
O passageiro reinicia processos que causam falhas, carregam o tráfego de balanceamento entre processos e dimensiona os processos para cima e para baixo, a fim de lidar com mais tráfego ou conservar recursos. Tudo isso é tratado automaticamente, sem que você precise especificar nada no seu código! Pode não fazer muito sentido agora, mas seu futuro desenvolvedor nos agradecerá.
Para referência futura, você pode usar o comando passenger-config restart-app
para reiniciar seu aplicativo. Isso é mais conveniente do que parar e iniciar o Passenger, que requer dois comandos.
tmp/always_restart.txt
O Passenger também suporta o arquivo mágico tmp/always_restart.txt
. Com este arquivo, o Passenger irá reiniciar seu aplicativo após cada solicitação. Dessa forma, você não precisa invocar o comando de reinicialização com frequência.
Ative este mecanismo criado o arquivo:
Desative o mecanismo removendo o arquivo:
INSTRUTOR(A): Às vezes a gem carrierwave gem causa problemas. Adicionando require 'carrierwave/orm/activerecord'
ao arquivo environment.rb
muitas vezes será suficiente.
Implantando seu app
Hospedando seu app
Antes de selecionar seu host (infraestrutura) e seguir o guia para colocar seu aplicativo on-line, vamos confirmar as alterações que fizemos:
Você também pode optar por seguir o Heroku a parti daqui
Solução de problemas
Use o comando passenger --help
em seu terminal para procurar todos os comandos disponíveis e sua funcionalidade.A maioria dos comandos (como passenger start
) tem muitos ‘sub-comandos’. Por exemple: execute passenger start --help
para ver todos os complementos para o comando ‘start’.
Perdido? Phusion Passenger possui extensa documentação, incluindo guias para iniciantes: Guia Passenger
No joelho? Rastejar através Guia de solução de problemas do Passenger com seu treinador.
Outros Guias
- Handy cheatsheet for Ruby, Rails, console etc.
- Guia 1: Tutorial de Instalação para Rails Girls
- Guia 2: Tutorial para criação da app Rails Girls
- Guia 3: Como enviar para o GitHub
- Guia 4: Colocando seu app online em…
- Guia 5: Funcionalidades de uma área de comentários para a app Rails Girls
- Guia 6: Adicione design à sua aplicação com HTML e CSS
- Guia 7: Thumbnails em listas de ideas
- Guia 8: Autenticação (para usuários) com Devise
- Guia 9: Adicionando Gravatar para a aplicação
- Guia 10: Melhorando seu design da sua aplicação com HTML e CSS
- Guia 11: Continuous Deployment
- Guia 12: Construindo um aplicativo de votação em Sinatra
- Guia 13: Construa um diário em Ruby on Rails
- Guia 14: Adicione back-end ao seu aplicativo (páginas de administração)
- Guia 15: Acesse explicações adicionais do app Rails Girls