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