Hospedar aplicativos NodeJS com cPanel é um processo de duas etapas:
1. Instale o aplicativo no servidor.
2.Registre-o com o 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 interface de controle de versão Git do cPanel. No entanto, para ilustrar o processo, criaremos um aplicativo simples de arquivo único.
Faça login com SSH como um usuário cPanel e crie um novo diretório em seu diretório inicial.
mkdir nodejsapp
Você pode ligar para o diretório como 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, por isso é melhor seguir a convenção de nomenclatura padrão, a menos que você tenha um bom motivo para alterá-la.
Cole o código a seguir 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('
Olá, mundo! Eu sou um aplicativo NodeJS no cPanel \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 vamos garantir que o aplicativo funcione primeiro. Execute o seguinte comando, que executa nosso mini-aplicativo com a instalação Node.js do EasyApache.
/opt/cpanel/ea-nodejs16/bin/node app.js
Se tudo correr bem, você verá uma mensagem que diz:
Server running at http://127.0.0.1:3000
Finalmente, abra uma nova janela de terminal e faça login em seu servidor como o mesmo usuário cPanel. Usaremos o cliente HTTP curl para enviar uma solicitação ao aplicativo.
curl http://127.0.0.1:3000
Se responder com “Olá, mundo! 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 Gerenciador de Aplicativos cPanel
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 de configuração do aplicativo, 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 + URL base. Por exemplo, se o Domínio de implantação for “example.com” e você inserir “nodeapp” neste campo, o aplicativo será servido de “example.com/nodeapp”. A extensão do URL não precisa ser igual ao diretório que armazena os arquivos do aplicativo.
Caminho do aplicativo: a localização dos arquivos do aplicativo em relação à casa do usuário. Em nosso exemplo, criamos um diretório na página inicial chamado “nodejsapp”, então 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 está uma interface para configurar variáveis de ambiente. Vamos examiná-los em maior profundidade na próxima seção.
Por enquanto, clicaremos no botão Implementar na parte inferior da página e o cPanel configurará o ambiente e o domínio do aplicativo. Assim que terminar, 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 tem dependências externas. Em caso afirmativo, o cPanel Application Manager exibiria o botão Garantir Dependências para a instalação com um clique. O botão está disponível apenas para aplicativos com um arquivo package.json que lista dependências.
Se você está seguindo nossos exemplos e gostaria de ver o Assegurar Dependências 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 Assegurar 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 depende.
Adicionando variáveis de ambiente ao ambiente do aplicativo Node.JS
Variáveis de ambiente são pares nome-valor que armazenam um grande número de informações. Eles funcionam muito 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 conter 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 maneira.
Em nosso arquivo app.js simples, esta linha de JavaScript informa ao aplicativo a porta na qual 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 aos usuários mais flexibilidade, eles poderiam dizer ao aplicativo para procurar em seu ambiente por uma variável chamada PORT e usar seu valor ao configurar o aplicativo.
No Node.js, o código JavaScript se parece com isto:
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 dizer ao aplicativo a qual porta vincular, definindo uma variável PORT no ambiente do aplicativo. Para fazer isso no Application Manager do cPanel, encontre a interface de 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.
fonte: https://blog.cpanel.com/how-to-host-a-node-js-application-with-cpanel/