1. Base de Conhecimento
  2. Hospedagem

Aplicações Node.js e Python na hospedagem: configuração e limites

Nesta página

    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:

    1. Crie o domínio ou subdomínio que vai responder pela aplicação.
    2. 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 de public_html: o código e um eventual arquivo .env ficariam públicos.
    3. Instale as dependências pelo botão do painel ou pelo terminal, dentro da pasta da aplicação.
    4. Cadastre as variáveis de ambiente necessárias.
    5. 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 build no 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.log e 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.

    Não resolveu? Abra um ticket

    Conte o que aconteceu e a nossa equipe ajuda você, 24 horas por dia.

    Carregando