NodeJS

Uma plataforma leve ideal para construir aplicações de rede rápidas e escaláveis em Javascript. Similar em design ao Event Machine do Ruby ou ao Twisted do Python, e construída no tempo de execução de JavaScript do Chrome, o NodeJS é ideal para aplicativos intensivos em dados que são executados em dispositivos distribuídos.

Softwares Incluídos:

Node.js - 18.14.0

NPM - 9.3.1

NGINX - 1.18.0

PM2 - 5.2.2

Começando após a implantação do Node.js:

Permita as portas no firewall apenas para acesso SSH (porta 22, limitada em taxa), HTTP (porta 80) e HTTPS (porta 443). Conforme Como criar Regras de Firewall.

Você será desconectado da instância e exibido com a mensagem abaixo até que a instância seja implantada. NÃO FAÇA LOGIN NA INSTÂNCIA POR 2 MINUTOS APÓS A CRIAÇÃO.

Please wait until the installation is completed....Connection to $IPADDRESS closed.

Depois que o Node.js é implantado:

Você pode fazer login na instância como ubuntu usando a senha que você definiu ao criar a instância ou com uma chave SSH, se você adicionou uma durante a criação.

Você pode então trocar o usuário para root sem uma senha digitando o seguinte comando.

sudo su -

Você pode visualizar a instância do Django imediatamente visitando o endereço IP da instância no seu navegador.

As credenciais de login do usuário do shell do NodeJS são armazenadas em /root/.shell_user_passwords

O diretório raiz do NodeJS é /var/www/html/

Os arquivos do NodeJS PM2 são armazenados em /home/nodejs/

Modifique este script em /var/www/html/hello.js. Você pode então ver os resultados ao vivo usando pm2, um gerenciador de processo que agenda seu código para ser executado no momento da inicialização. A aplicação é executada como usuário nodejs, portanto, as alterações no pm2 precisam ser executadas como usuário nodejs.

sudo -u nodejs pm2 restart hello

Clone seu código NodeJS na instância, em qualquer lugar que desejar. Observação: Se você não estiver usando controle de código-fonte, poderá fazer upload diretamente dos arquivos para sua instância usando SFTP.

Vá para o diretório onde o seu código NodeJS está localizado e instale quaisquer dependências. (Por exemplo, se você tiver um arquivo package.json, execute npm install.)

Inicie seu aplicativo

sudo -u nodejs pm2 start <your-file>

Mapeie a porta em que o aplicativo é executado para um URL HTTP

nano /etc/nginx/sites-available/default

Edite a entrada existente que expõe o aplicativo "hello" na porta 3000 para o mundo para que aponte para a porta do seu aplicativo.

Habilite sua nova configuração do nginx.

sudo systemctl restart nginx

Chame para agendar o código para ser executado no momento da inicialização.

sudo -u nodejs pm2 save

Repita esses passos para qualquer outro aplicativo NodeJS que precise ser executado simultaneamente -- agende-os para serem executados no momento do boot em qualquer porta interna que desejar usando o PM2 e, em seguida, mapeie essa porta para uma URL HTTP/HTTPS na configuração do Nginx. Construa a estrutura de diretórios de URL de que você precisa, mapeando aplicativos para caminhos de URL; essa é a essência do método de proxy reverso!

Agora você pode excluir o aplicativo de exemplo que instalamos na sua instância. Pare a execução do script inicial (que você está visualizando agora):

sudo -u nodejs pm2 delete hello

Impedir que ele seja executado no boot da instância:

sudo -u nodejs pm2 save