Usar Node.js com ISPConfig em um VPS

Procédure

Para executar uma aplicação Node.js no seu VPS com ISPConfig, você precisa configurar o Apache como reverse proxy para a porta local do seu script. Node.js é um ambiente de execução JavaScript do lado do servidor que permite criar aplicações web rápidas e escaláveis. Ao combinar um gerenciador de processos como o PM2 e as diretivas do ISPConfig, você garante a persistência do seu serviço e a proteção por certificado SSL.

As etapas

  1. Aceder à gestão do seu VPS

    Entre na sua área de cliente, vá à secção Servidores e depois clique em Gerir em frente à sua máquina VPS sob ISPConfig.

    Usar Node.js com ISPConfig em um VPS
  2. Abrir a interface ISPConfig

    No painel do seu servidor, clique em Painel de administração para se ligar à consola ISPConfig.

    Usar Node.js com ISPConfig em um VPS
  3. Gerir a administração e o acesso root, se necessário

    Se escolher instalar o Node.js globalmente para todo o sistema em vez de para a conta local do site, clique em Gestão, marque a opção Servidor NÃO gerido pela LWS e confirme com Validar. A LWS deixa então de gerir o servidor, o que desbloqueia as credenciais em Acesso ROOT SSH.

    Usar Node.js com ISPConfig em um VPS
  4. Criar o site web e ativar o certificado SSL

    No ISPConfig, abra o separador Sites, adicione o seu domínio (por exemplo « exemplo.fr ») e depois marque as opções SSL e Let's Encrypt SSL antes de guardar.

  5. Ligar-se ao servidor via SSH

    Abra o seu terminal e estabeleça a ligação SSH com a sua conta (utilizador do site ISPConfig ou utilizador root se a gestão tiver sido removida).

    Usar Node.js com ISPConfig em um VPS
  6. Ativar os módulos proxy do Apache

    Para redirecionar o tráfego HTTP para a sua aplicação, ative os módulos necessários com o comando a2enmod proxy proxy_http e depois reinicie o Apache através de systemctl restart apache2 (ação que requer privilégios de administração ou que já esteja ativa, consoante o seu plano).

  7. Instalar Node.js LTS

    Instale Node.js na versão LTS na sua sessão com a ajuda do nvm ou dos repositórios da sua distribuição e depois verifique a versão instalada introduzindo o comando node -v.

  8. Criar a aplicação Express mínima

    Vá para o diretório do seu site, inicialize um projeto com npm init -y, instale o framework Express com npm install express e crie um ficheiro server.js configurado para escutar na porta local 3000.

  9. Iniciar e tornar a aplicação persistente com o PM2

    PM2 é um gestor de processos para Node.js que permite manter as aplicações ativas continuamente e reiniciá-las após um incidente. Instale-o com npm install -g pm2, inicie o seu script via pm2 start server.js --name mon-app e guarde o estado com pm2 save.

  10. Configurar o reverse proxy Apache no ISPConfig

    Um reverse proxy é um servidor intermediário que recebe os pedidos web dos visitantes para os transferir para o servidor de aplicações interno. No ISPConfig, edite o seu site, vá ao separador Opções e depois adicione no campo Diretivas Apache : ProxyPreserveHost On seguido de ProxyPass / http://localhost:3000/ e ProxyPassReverse / http://localhost:3000/.

  11. Testar o funcionamento em HTTPS

    Abra o seu navegador e introduza o endereço do seu site (por exemplo https://exemplo.fr) para verificar a apresentação do seu script Node.js protegido.

Métodos de instalação do Node.js no seu VPS

São possíveis várias abordagens para integrar os pacotes Node.js de acordo com as suas necessidades de administração e a manutenção da sua gestão.

  • Instalação via NVM (Node Version Manager) — Permite instalar e gerir várias versões do Node.js diretamente no diretório do utilizador, sem privilégios root e sem alterar a gestão do VPS.
  • Instalação via gestor de pacotes APT do Debian — Instala uma versão estável global para todo o sistema operativo, exigindo privilégios root e a desativação da gestão.

Perguntas frequentes

Porque é que o meu site mostra um erro 502 ou 503?

Um erro 502 Bad Gateway ou 503 Service Unavailable indica que o Apache não consegue contactar o Node.js na porta configurada. Verifique se a sua aplicação está realmente iniciada sob PM2 com o comando pm2 status e se está a escutar corretamente na porta 3000 localmente.

A gestão da LWS é obrigatória para o Node.js funcionar?

Não. O VPS ISPConfig é gerido por padrão, o que garante o suporte do seu servidor. Pode fazer o Node.js funcionar sem root graças ao nvm sob a conta shell do seu site. Se remover a gestão para obter acesso root, ficará responsável por toda a administração do servidor.

A minha aplicação Node.js reinicia se o VPS for reiniciado?

Sim, desde que tenha executado o comando pm2 startup e depois pm2 save. O PM2 reativa automaticamente os seus scripts ao iniciar o sistema.

Posso executar várias aplicações Node.js no mesmo servidor?

Sim. Atribua simplesmente uma porta local diferente a cada aplicação (por exemplo 3000, 3001) e configure as diretivas Apache ProxyPass correspondentes para cada domínio no ISPConfig.

É necessário abrir a porta da minha aplicação no firewall?

Não. A aplicação Node.js escuta apenas no endereço local (203.0.113.10 ou localhost). É o servidor Apache que recebe as ligações web seguras nas portas padrão 80 e 443 para as redirecionar internamente.

Ligações úteis

help.lws.net/a/7952
Este artigo foi útil?

Sim

Não

Lido 3 vezes

Obrigado! Não hesite em colocar questões sobre a nossa documentação se pretender mais informações e ajudar-nos a melhorá-la.

Artigos semelhantes

Uma pergunta sobre este artigo?

Coloque-a à equipa LWS e à comunidade. A resposta é publicada após moderação.

Fazer uma pergunta à equipa do LWS e à sua comunidade

RGPD: Responsável: LWS-Ligne Web Services. Finalidade: moderação e publicação pública da sua pergunta, eventual notificação de uma resposta. Base legal: consentimento (art. 6.º, n.º 1, al. a) RGPD). Conservação dos e-mails: 90 dias após a notificação, 12 meses no máximo sem resposta. Para exercer os seus direitos, consulte a secção RGPD das nossas condições gerais.