Os planos de hospedagem e revenda permitem rodar aplicações Node.js e Python pelo painel. No Plesk compartilhado, rodam Node.js e Ruby, mas não Python. Elas funcionam por meio do Passenger, que recebe as requisições do site e as entrega à aplicação. Este artigo mostra como configurar e como evitar os travamentos mais comuns.
Como criar a aplicação
- cPanel: Setup Node.js App (Aplicativos Node.js). Para Python, Setup Python App.
- DirectAdmin: Setup Node.js App.
- Plesk: Node.js e Ruby, na tela do site. O Plesk compartilhado não roda Python.
Passos gerais:
- Crie o domínio ou subdomínio que vai responder pela aplicação.
- Crie a aplicação escolhendo a versão do Node.js (ou do Python), o modo produção, a pasta da aplicação, o endereço em que ela responde (no Setup Node.js App, o campo URL da aplicação, Application URL) e o arquivo de inicialização (por exemplo,
app.js). No cPanel e no DirectAdmin, não coloque a pasta da aplicação dentro depublic_html: o código e um eventual arquivo.envficariam públicos. - Instale as dependências pelo botão do painel ou pelo terminal, dentro da pasta da aplicação.
- Cadastre as variáveis de ambiente necessárias.
- Reinicie a aplicação pelo painel depois de cada alteração.
A aplicação deve escutar a porta que o ambiente entrega, por exemplo process.env.PORT no Node.js.
Aparece a página padrão no lugar da aplicação
No DirectAdmin, se o domínio mostra a página padrão com a mensagem "upload your website into the public_html directory", apague ou renomeie o arquivo index.html criado pelo painel na pasta do domínio.
Erro 503 ou a aplicação não sobe
Consulte o arquivo stderr.log na pasta da aplicação. Ele registra as mensagens de erro da inicialização, como módulo não encontrado ou erro de sintaxe.
Limite de processos e threads
O limite de processos da conta conta processos e threads. Aplicações com muitos workers, ORMs com muitas threads, navegadores headless ou comandos de build esgotam esse limite. Os sinais são o terminal respondendo fork:
Resource temporarily unavailable, erro 503 e o painel sem conseguir parar a aplicação.
Para evitar:
- Faça o
npm run buildno seu computador e envie só os arquivos prontos. - Mantenha uma única instância da aplicação, sem iniciar cópias extras por cron ou scripts.
- Limite o número de workers e threads na configuração da aplicação.
- Rode em modo produção (
NODE_ENV=production).
Se a conta travar, abra ticket: a equipe encerra os processos presos. O limite não é aumentado individualmente; veja "Erro 503 ou 508: limites de recursos da conta".
O que não roda na hospedagem
Docker, FFmpeg, bibliotecas de sistema (como as exigidas pelo Chrome headless) e pacotes que precisam de acesso root não são instalados em hospedagem ou revenda. Para isso é preciso um VPS.
Se não resolver
Abra um ticket com:
- o domínio e a pasta da aplicação;
- a versão do Node.js ou do Python escolhida;
- as últimas linhas do
stderr.loge o horário do erro.
Não inclua senhas no ticket.
Esta resposta foi útil?
A sua avaliação nos ajuda a melhorar os artigos.