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:

    26

    This website collects cookies to deliver better user experience

    Deploy API Node, Adonis, Mysql AWS Ubuntu