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.
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.
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:
- Instale o aplicativo no servidor.
- 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.
Clique no botão Registrar Aplicativo .
Na tabela Application Configuration , precisamos fornecer quatro informações:
- 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.
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.
Insira um nome e valor de variável e clique em Salvar.
Editando seu aplicativo Node.JS
Você pode editar a configuração de registro de um aplicativo Node no Application Manager.
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.
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 .
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.