O que vem instalado no servidor Ruby on Rails?
- Ruby 3.2 do repositório do Ubuntu 24.04
- Rails 8 (8.1 ou posterior) e um projeto de exemplo em /home/app/uygulama
- Puma em 127.0.0.1:3000, a correr como um serviço systemd chamado uygulama
- SQLite, com a base de dados de produção em storage/production.sqlite3
- HTTPS através do Caddy com force_ssl ativo no Rails, pelo que o domínio é opcional
- Definições em /etc/seturack-rails.env: RAILS_ENV=production e um SECRET_KEY_BASE gerado
- build-essential e bibliotecas de desenvolvimento para compilar gems, mais um ficheiro de swap de 2 GB
- Firewall com apenas as portas 22, 80 e 443 abertas
Que tamanho é necessário para o Ruby on Rails?
A documentação do Rails não indica um valor de RAM. A memória depende do número de processos e threads do Puma, das gems e do assets:precompile. Como regra geral, 1 GB serve para experiências e projetos pequenos, e 2 a 4 GB é um bom ponto de partida para um projeto com tráfego real. O tamanho mais pequeno tem 1 GB de RAM, 1 CPU e 15 GB de disco, e a instalação acrescenta 2 GB de swap para as compilações. Se não chegar, aumente o tamanho a partir do painel e defina o número de processos do Puma com WEB_CONCURRENCY.
| Utilização | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Programadores que querem executar o seu projeto Rails num servidor próprio
- Quem está a aprender Rails ou a criar um protótipo ou um pequeno produto num só servidor
- Projetos que começam em SQLite e podem passar mais tarde para PostgreSQL
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O seu servidor arranca e o Ruby e o Rails instalam-se sozinhos. Nos nossos testes em servidores reais, demorou cerca de 5 minutos.
- Abra o Endereço do site no separador Resumo. A página de exemplo mostra a versão do Rails.
- Ligue-se por SSH, escreva su - app, vá para ~/uygulama e carregue para a sua shell as definições de /etc/seturack-rails.env.
- Depois de alterar o código, execute bundle install, bin/rails db:migrate e bin/rails assets:precompile.
- Reinicie o Puma com systemctl restart uygulama como root.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- O projeto de exemplo é propositadamente simples: não tem configuração de Hotwire, Action Cable, Solid Queue nem Kamal. Quando traz o seu próprio projeto, o bundle install acrescenta o que o seu Gemfile indicar.
- A imposição de HTTPS está em config/initializers/seturack.rb. Mantenha esse ficheiro ao trazer o seu próprio projeto, ou defina você mesmo assume_ssl e force_ssl.
- Se o seu projeto usa credenciais do Rails, acrescente RAILS_MASTER_KEY a /etc/seturack-rails.env.
- O Ruby instalado é o 3.2. Se o seu projeto precisar de um Ruby mais recente, instale-o você e atualize a linha PATH no ficheiro de serviço.
- Manter as gems e o Rails atualizados é da sua responsabilidade. As atualizações de segurança do Ubuntu instalam-se sozinhas.
Ruby on Rails: perguntas e respostas
Como levo o meu próprio projeto Rails para o servidor?
Ligue-se por SSH e escreva su - app. Mude o nome ao projeto de exemplo, clone o seu código para ~/uygulama com git clone e copie config/initializers/seturack.rb. Execute bundle install, bin/rails db:prepare e bin/rails assets:precompile e depois systemctl restart uygulama como root.
Como executo comandos Rails no servidor?
Escreva su - app e cd ~/uygulama. Carregue as definições com set -a; . /etc/seturack-rails.env; set +a. Acrescente o caminho das gems com export PATH=$GEM_HOME/bin:$PATH. Depois disso, bundle, bin/rails console e bin/rails db:migrate usam as definições de produção.
De quanta RAM precisa o Ruby on Rails?
O Rails não tem um valor oficial de RAM. Como regra geral, 1 GB serve para experiências e projetos pequenos, e 2 a 4 GB é um bom ponto de partida para tráfego real. Acrescentar processos do Puma consome mais memória do que acrescentar threads.
Posso usar PostgreSQL em vez de SQLite?
Sim. Execute apt install postgresql libpq-dev como root, acrescente pg ao Gemfile, altere a secção de produção de config/database.yml e execute bin/rails db:prepare. Pode também colocar a base de dados num servidor à parte.
Que versões de Ruby e Rails vêm instaladas?
Recebe o Ruby 3.2 do Ubuntu 24.04 e a última versão do Rails 8 no momento da instalação (8.1 ou posterior). Os guias do Rails indicam que o Rails 8.0 e 8.1 exigem o Ruby 3.2.0 ou mais recente.
Existe um endereço de verificação de estado para o Rails?
Sim. O caminho /up do próprio Rails está aberto e devolve 200 enquanto a aplicação estiver a funcionar. Está excluído do redirecionamento para HTTPS, por isso pode apontar a sua ferramenta de monitorização diretamente para ele.