Deploy API Node, Adonis, Mysql AWS Ubuntu

Deploy de produção completo API Node/Adonis, Mysql, Ubuntu 18/20 no servidor cloud AWS.

  • Criar uma máquina no serviço ec2 da Aws. Ubuntu Server 18.04 ou 20
sudo apt-get update
sudo apt-get upgrade
  • Instalar o Nodejs na versão 14 TLS
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt -y install nodejs
  • Verifique a instalação e versão.
node  -v
A versão deve ser igual ou superior a 14.17

-Versão do Nodejs instalada:

v14.17.2
  • Verifique o NPM e sua versão:
npm -v
  • Instalar o Adonis Framework Global

Instalar o Mysql-Server

  • Comando de instalação:
sudo apt install mysql-server
  • Instalando da forma correta e segura siga esse exemplo:

Verifique se o Mysql foi instalado corretamente e se esta funcionando.

systemctl status mysql.service
  • Se tudo estiver certo, o resultado será esse:

Agora vamos trocar a senha do usuário padrão do mysql, o root.

Entre no Mysql, com o comando:

sudo mysql

Agora alterar/adicionar uma senha para o usuário root.

  • Altere 'you new password' para sua senha atual.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password';
  • Altere 'you new password' para sua senha atual.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your new password';

Resposta do Mysql:

Query OK, 0 rows affected (0.01 sec)

Criando um novo banco de dados para nossa aplicação:

sudo mysql -u root -p

Digite sua senha cadastrada no processo anterior.

Pronto! Dentro do MYSQL!

Crie um novo banco de dados:

CREATE DATABASE my_name_database;
  • Veja o novo banco criado:
SHOW DATABASES;

Agora poderemos incluir o processo em nosso arquivo .env, fazendo a migração do banco de dados para o nosso banco recém criado. Se tudo estiver correto poderemos fazer as migrations sem problemas.

  • Você pode usar outros Banco de Dados ou ORMs e coisas do tipo, você pode fazer isso usando qualquer outra ferramenta nesse sentido, neste exemplo usaremos o Node-JS com AdonisFramework-JS, por isso algumas particularidades.
Download do projeto API Service Backend. Projeto usando Nodejs/Adonis Framework e Mysql Database.

Criar um novo usuário Linux dentro do seu console do Ubuntu 18 ou 20. Toque novo_usuario pelo seu usuário.

sudo adduser novo_usuario

Cadastre sua senha passa esse usuário.

Como conceder a um usuário privilégios root

sudo /usr/sbin/visudo

Altere o arquivo, inserindo seu usuário e o total privilégio.

  • Adicionando o nome do usuário e as mesmas permissões como root sob a especificação de privilégios do usuário irá conceder-lhes os privilégios sudo.
# User privilege specification
root            ALL=(ALL:ALL) ALL 
novo_usuario    ALL=(ALL:ALL) ALL

Entre na sessão desse novo usuário criado:

su - novo_usuario

Pronto! Verifique de estar logado com seu usuário.

myuser@ip-122-34-1-200:~$

Instale o Adonis-Cli Framework Globalmente no servidor:

sudo npm install -g adonis-cli

Instale o PM2 Framework Globalmente para Hosting e Deploy da nossa aplicação:

sudo npm install -g pm2
  • Processo completo de instalação, configuração e migração do banco de dados.

Faça o download do projeto para o local do seu usuário.

O projeto está aberto no Github:
https://github.com/Utwo/adonis-realworld-example-app

git clone https://github.com/Utwo/adonis-realworld-example-app

Entre no projeto:

cd adonis-realworld-example-app

Instale a aplicação e os pacotes:

sudo npm install

Alterar o arquivo .env.exemple para .env:

mv .env.exemple .env

Instale a Adonis dentro da sessão do seu usuário recém criado:

sudo npm i --global @adonisjs/cli

Instale o PM2 dentro da sessão do seu usuário recém criado:

sudo npm install -g pm2

Gerando a chave única da aplicação:

adonis key:generate

Entre no arquivo .env para configurar sua aplicação:

nano .env

Altere suas credências de acesso ao banco de dados no arquivo .env

EM CONSTRUÇÃO...

Referências:

13