...
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).
...
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.
Code Block | ||||
---|---|---|---|---|
| ||||
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.
Code Block | ||||
---|---|---|---|---|
| ||||
< 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.
Code Block | ||||
---|---|---|---|---|
| ||||
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
Code Block | ||||
---|---|---|---|---|
| ||||
sudo -u nodejs pm2 start <your-file> |
Mapeie a porta em que o aplicativo é executado para um URL HTTP
Code Block | ||||
---|---|---|---|---|
| ||||
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.
Code Block | ||||
---|---|---|---|---|
| ||||
sudo systemctl restart nginx |
Chame para agendar o código para ser executado no momento da inicialização.
Code Block | ||||
---|---|---|---|---|
| ||||
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):
Code Block | ||||
---|---|---|---|---|
| ||||
sudo -u nodejs pm2 delete hello |
Impedir que ele seja executado no boot da instância:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo -u nodejs pm2 save |