Como hospedar um aplicativo Node.JS com cPanel

Última atualização em

A hospedagem Node.js já foi um negócio complicado, especialmente em servidores de hospedagem multiusuário. No entanto, com o Gerenciador de aplicativos cPanel e WHM , instalar aplicativos JavaScript e configurar ambientes Node.js é muito fácil, capacitando os hosts da Web a oferecer serviços intuitivos de hospedagem Node.js com uma interface gráfica fácil de usar. 

Neste artigo, explicamos como ativar o Gerenciador de Aplicativos do cPanel e como instalar, registrar e gerenciar aplicativos Node.js. 

Introdução ao Gerenciador de Aplicativos cPanel

Os usuários do cPanel podem registrar aplicativos Node.js e associá-los a um domínio no Application Manager . Para oferecer esse recurso aos usuários de hospedagem, os administradores do servidor devem primeiro instalar alguns pacotes de suporte e garantir que o Application Manager esteja ativado.

Usaremos o Feature Manager do WHM para ativar o Application Manager . Abra o Gerenciador de recursos, que está em Pacotes no menu da barra lateral do WHM. 

Clique no botão Editar em Gerenciar lista de recursos com a lista Padrão selecionada no menu suspenso. 

Como hospedar um aplicativo NodeJS com cPanel

Digite Application Manager no campo de pesquisa e verifique se sua entrada na lista de recursos está marcada. Se não estiver, clique na caixa adjacente e em Salvar na parte inferior da página. 

Como hospedar um aplicativo NodeJS com cPanel01

Em seguida, instalaremos o software que permite ao cPanel executar e gerenciar aplicativos Node.js, incluindo o servidor de aplicativos mod_passenger e o ambiente Node do EasyApache4. Você precisará fazer login como root com SSH para instalar o software:

yum install ea-ruby24-mod_passenger ea-apache24-mod_env ea-nodejs10

O Application Manager agora está disponível em contas de usuário cPanel e pronto para hospedar aplicativos Node.js. 

Criando um aplicativo no cPanel Application Manager

Hospedar aplicativos com cPanel é um processo de duas etapas:

  1. Instale o aplicativo no servidor. 
  2. Registre-o no Application Manager .

Veremos como registrar um aplicativo na próxima seção, mas primeiro precisamos instalá-lo no servidor. Os usuários do sistema de controle de versão Git™ podem clonar um repositório com seu cliente de linha de comando ou a interface Git Version Control do cPanel. No entanto, para ilustrar o processo, criaremos um aplicativo simples de arquivo único.

Faça login com SSH como um usuário do cPanel e crie um novo diretório em seu diretório inicial. 

mkdir nodejsapp

Você pode chamar o diretório do que quiser. É aqui que os arquivos de código do seu aplicativo ficarão. Crie um arquivo chamado app.js neste diretório com seu editor de texto preferido. O cPanel espera que o ponto de entrada do aplicativo seja chamado app.js , portanto, é melhor seguir a convenção de nomenclatura padrão, a menos que você tenha um bom motivo para alterá-la 

Cole o seguinte código e salve o novo arquivo. 

const http = require('http')
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World! I am your new NodeJS app! \n');
});

server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/);
});

O código configura um servidor HTTP na porta 3000. Ele responde às solicitações da web com a mensagem: “Hello World! Eu sou seu novo aplicativo NodeJS!”  

Poderíamos ir direto para a etapa de registro, mas primeiro vamos garantir que o aplicativo funcione. Execute o seguinte comando, que executa nosso mini-aplicativo com a instalação do Node.js do EasyApache. 

/opt/cpanel/ea-nodejs10/bin/node app.js

Estando tudo bem, você verá uma mensagem que diz:

Server running at http://127.0.0.1:3000

Por fim, abra uma nova janela de terminal e faça login no seu servidor como o mesmo usuário do cPanel. Usaremos o cliente HTTP curl para enviar uma solicitação ao aplicativo. 

curl http://127.0.0.1:3000

Se ele responder com “’Hello World! Eu sou um aplicativo NodeJS no cPanel”, você pode passar para a próxima etapa: registrar seu aplicativo Node.js no cPanel. 

Registrando seu aplicativo Node.JS no cPanel Application Manager

O registro informa ao gerenciador de aplicativos do Passenger e ao cPanel onde encontrar seu aplicativo e qual domínio você gostaria de usar. 

No cPanel, abra o Application Manager, que você encontrará em Software na página principal. 

Como hospedar um aplicativo NodeJS com cPanel02

Clique no botão Registrar Aplicativo .

Como hospedar um aplicativo NodeJS com cPanel03

Na tabela Application Configuration , precisamos fornecer quatro informações:

Como hospedar um aplicativo NodeJS com cPanel04

  • Nome do aplicativo: um nome de exibição para o aplicativo. Você pode escolher qualquer nome, mas deve começar com um número ou letra e não pode conter pontos.
  • Domínio de implantação: o nome de domínio do aplicativo. O domínio já deve estar associado à conta cPanel. 
  • URL base do aplicativo: a página inicial do aplicativo estará disponível no domínio de implantação + a URL base. Por exemplo, se o domínio de implantação for “example.com” e você inserir “nodeapp” nesse campo, o aplicativo será exibido em “example.com/nodeapp”. A extensão da URL não precisa ser a mesma do diretório que armazena os arquivos do app. 
  • Caminho do aplicativo: a localização dos arquivos do aplicativo em relação à casa do usuário. Em nosso exemplo, criamos um diretório em home chamado “nodejsapp”, portanto, inseriríamos “nodejsapp” aqui.

O seletor Deployment Environment indica se o aplicativo está em desenvolvimento ou pronto para implantação em um ambiente de produção. 

Abaixo da tabela de configuração do aplicativo , há uma interface para configurar as variáveis ​​de ambiente. Vamos analisá-los com mais profundidade na próxima seção. 

Por enquanto, clicaremos no botão Deploy na parte inferior da página e o cPanel configurará o ambiente e o domínio do aplicativo. Depois de concluído, você pode abrir seu novo aplicativo em um navegador da Web no URL que acabou de configurar: “example.com/nodeapp” em nossos exemplos. 

Ao contrário de um aplicativo real, nosso one-pager não possui dependências externas. Se tivesse, o cPanel Application Manager exibiria o botão Garantir dependências para instalação com um clique. O botão está disponível apenas para aplicativos com um arquivo package.json que lista as dependências. 

Como hospedar um aplicativo NodeJS com cPanel05

Se você está seguindo nossos exemplos e gostaria de ver as Dependências de Garantia em ação, adicione um arquivo chamado package,json ao diretório do aplicativo com o seguinte conteúdo:

{
   "name": "nodejsapp",
   "version": "1.0.0",
   "description": "A Node App",
   "main": "app.js",
   "author": "",
   "license": "ISC",
   "dependencies": {
   "express": "^4.17.1"
   }
}

Como você pode ver, listamos a estrutura da Web Express como uma dependência. O botão Garantir Dependências agora deve estar disponível no Gerenciador de Aplicativos. Quando você clica nele , o cPanel instala o Express e todos os aplicativos e bibliotecas dos quais ele depende. 

Adicionando variáveis ​​de ambiente ao ambiente do seu aplicativo Node.JS

Variáveis ​​de ambiente são pares nome-valor que armazenam um pedaço de informação. Eles funcionam como variáveis ​​em programação, exceto que não são internos ao programa, mas parte de seu ambiente externo. Os servidores usam variáveis ​​de ambiente para armazenar dados de configuração úteis. 

Por exemplo, o CentOS usa a variável de ambiente PATH para armazenar uma lista de diretórios que contêm programas de linha de comando. Quando você insere um comando como “ls”, o shell procura nesses diretórios um arquivo executável com esse nome. Se não houvesse variável PATH, você teria que inserir o caminho completo de cada comando: “/usr/bin/ls” em vez de apenas “ls”. 

O administrador do servidor pode alterar a variável de ambiente PATH, controlando os diretórios que o shell procura sem modificar seu código interno. Com o Application Manager do cPanel , você pode adicionar variáveis ​​de ambiente ao ambiente do seu aplicativo Node.js para configurar seu comportamento da mesma forma. 

Em nosso arquivo app.js simples , essa linha de JavaScript informa ao aplicativo a porta em que ele deve escutar as conexões. 

const port = 3000;

Na realidade, é improvável que um desenvolvedor saiba a porta correta ao escrever o código. Para dar mais flexibilidade aos usuários, eles podem dizer ao aplicativo para procurar em seu ambiente uma variável chamada PORT e usar seu valor ao configurar o aplicativo. 

No Node.js, o código JavaScript é mais ou menos assim:

const PORT = process.env.PORT || 3000;

Isso define a variável PORT interna do aplicativo para o valor da variável de ambiente chamada PORT ou para um padrão de 3000 se uma variável de ambiente não estiver definida. 

Agora, o usuário pode informar ao aplicativo a qual porta se conectar definindo uma variável PORT no ambiente do aplicativo. Para fazer isso no Gerenciador de aplicativos do cPanel , localize a interface Variáveis ​​de ambiente abaixo de Configuração do aplicativo e clique em Adicionar variável.

Como hospedar um aplicativo NodeJS com cPanel06

Insira um nome e valor de variável e clique em Salvar. 

Como hospedar um aplicativo NodeJS com cPanel07

Editando seu aplicativo Node.JS

Você pode editar a configuração de registro de um aplicativo Node no Application Manager.

Como hospedar um aplicativo NodeJS com cPanel08

Clique no link Editar na coluna Ações . Nesta interface, você pode editar todos os valores definidos ao registrar seu aplicativo pela primeira vez, incluindo as variáveis ​​de ambiente. 

Como hospedar um aplicativo NodeJS com cPanel09

Desinstalando seu aplicativo Node.JS

Para desinstalar ou “cancelar o registro” de um aplicativo Node.js do cPanel, clique no link cancelar registro à direita da tabela  do Gerenciador de aplicativos .

Como hospedar um aplicativo NodeJS com cPanel10

Quando você cancela o registro de um aplicativo, o cPanel o remove da lista, exclui seu arquivo de configuração e o dissocia do domínio. O cPanel não exclui os arquivos do aplicativo, mas você mesmo pode excluí-los no Gerenciador de Arquivos ou na linha de comando. 

Traga a hospedagem Node.JS para o seu servidor cPanel

PHP continua sendo a linguagem de servidor mais usada por uma grande margem, mas Node.js, JavaScript e estruturas da web como Express, Meteor e Nest são cada vez mais populares entre desenvolvedores da web e usuários experientes em tecnologia. O cPanel e o Application Manager do WHM tornam mais fácil para os hosts da web oferecer suporte a aplicativos Node e usuários focados em JavaScript em sua plataforma.

Também pode te interessar

Publicidade