Servidor Rails e Puma
O curso mostra como uma app Rails sobe e é servida pelo Puma. Começa pelo bin/rails server e pela saída que ele imprime ao subir. Depois explica por que o Puma ocupou o lugar do WEBrick como servidor padrão do Rails. Lê o config/puma.rb linha por linha, com threads, porta e plugins. Descreve workers e threads, os modos single e cluster e o pool de conexões. Também trata do bin/dev com o Foreman, das formas de reiniciar o servidor e de como resolver um pidfile que sobrou.
O que você vai aprender
- ✓Subir e parar o servidor Rails com bin/rails server
- ✓Por que o Puma substituiu o WEBrick como servidor padrão do Rails
- ✓Ler as configurações do config/puma.rb
- ✓Workers, threads e os modos single e cluster do Puma
- ✓Rodar vários processos de desenvolvimento com bin/dev e Foreman
- ✓Reiniciar o Puma e apagar um pidfile que sobrou
Iniciando o servidor Rails
Rails CLI: rails new gerou uma app inteira: models, views, controllers e configuração, parados no disco. Nada disso faz coisa alguma ainda. Uma app Rails é só arquivos até um processo começar a ler requisições e rodar o código. Esse processo é o bin/rails server.
Ler a aula completa grátis →Currículo
7 aulasIniciando o servidor Rails
Como subir uma app Rails com bin/rails server, ler a saída do Puma e pará-lo com Ctrl+C.
O que é o Puma, e por que não WEBrick?
Por que o WEBrick saiu das gems padrão do Ruby, a origem do Puma e sua adoção no Rails.
Lendo o config/puma.rb
Leitura linha por linha do config/puma.rb: threads, porta, tmp_restart, Solid Queue, pidfile e padrões via ENV.fetch.
O modelo de concorrência do Puma: workers e threads
Como o Puma usa processos worker e threads, os modos single e cluster, e o pool de conexões.
bin/dev e o Foreman
Como o bin/dev usa o Foreman e o Procfile.dev para rodar o servidor Rails e o Tailwind juntos.
Parando, reiniciando, e servidores travados
Quais mudanças pedem restart, duas formas de reiniciar o Puma e como limpar um pidfile que sobrou.
Juntando tudo: do rails new a uma app rodando
Um rastreio do bin/dev de ponta a ponta, mostrando como as peças do curso trabalham juntas.