Deploy de Aplicativo Node.js com Banco de Dados MySQL

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Wiki-node-next-puppeteer.jpg

Índice

Antes de começar

As orientações contidas neste tutorial exigem o Integrator Node.js. Caso seu plano não possua suporte a Node.js, veja no site da Integrator Host, https://integrator.com.br, planos disponíveis.

Download do aplicativo Node.js

Caso queira baixar o exemplo usado neste tutorial, clique aqui.

O aplicativo

O aplicativo criado está na integra dentro de um arquivo somente, chamado index.js. Observe que nesse código, existe as variáveis, onde a PORT não é registrada pelo painel de controle.

const express = require('express');
const app = express();
const mysql = require("mysql2");

//variables
const userdb = process.env.USERDB
const passwdb = process.env.PASSWDB
const database = process.env.DATABASE
const port = process.env.PORT

function connectdb(){
    return  mysql.createConnection({
        host     : 'localhost',
        port     : 3306,
        user     : userdb,
        password : passwdb,
        database : database
    });
}

app.get('/', (req, res) => {
    res.json('Hello World!')
  })

app.get('/users', function (req, res) {
    const conn = connectdb()
    conn.query('SELECT * FROM users', (err, u) => {
        if(err) return  res.json(err);
        res.json(u)
    })
})

var server = app.listen(port, function () {
   console.log("Example app listening at port %s", port)
})

O package.json

O package.json é apresentado na íntegra para análise.

{
  "name": "example_database",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.1",
    "mysql2": "^2.3.3"
  }
}

O banco de dados

O banco de dados precisa ser criados no painel de controle se for usar o que a Integrator Host fornece. Veja os passos:

Se quiser criar as tabelas e subir os dados, pode fazer diretamente na execução do phpMyAdmin, por exemplo.

Criando as tabelas através do phpMyAdmin
Figura: Criando as tabelas através do phpMyAdmin

❶ - O local do seu banco de dados;
❷ - O nome do banco de dados;
❸ - A instrução SQL para criar tabelas;
❹ - A instrução SQL para inserir dados.

A tabela do exemplo é apresentada na instrução SQL abaixo:

CREATE TABLE users(
  name VARCHAR(20),
  age SMALLINT
);


Subindo o aplicativo pelo painel de controle

O aplicativo deve ser compactado sem o diretório node_modules. Dentro do arquivo .zip, temos:

example_database.zip
|_index.js
|_package.json

Para o deploy através do painel, use a aba Deploy e selecione o arquivo compactado . Assim que o upload for realizado, você tem o link para registrar o aplicativo.

O aplicativo com Deploy Realizado
Figura: O aplicativo com Deploy Realizado


Registrando o aplicativo pelo painel de controle

Siga o formulário na aba Registrar para validar as configurações do seu aplicativo.

Na parte de variáveis, registre aquelas que são personalizadas para uso em seu aplicativo. Em especial, temos um exemplo de variáveis para a conexão com o banco de dados.

Variáveis do Aplicativo Node.js
Figura: As variáveis do aplicativo Node.js de exemplo

Instalando as dependências

Copie o caminho do seu aplicativo. Veja como fazer através da nossa imagem abaixo.

Copiando o caminho do deploy do aplicativo Node.js
Figura: Copiando o caminho do deploy do aplicativo Node.js

Abra o terminal pelo painel.

Abrindo o terminal para instalar as dependências do aplicativo Node.js
Figura: Abrindo o terminal para instalar as dependências do aplicativo Node.js

No terminal, cole o caminho do aplicativo, seguindo de confirmação com a tecla [ENTER/Return] e execute o comando do npm install.

Executando o NPM para instalar as dependências do aplicativo Node.js
Figura: Executando o NPM para instalar as dependências do aplicativo Node.js

Executando o aplicativo

Execute o aplicativo pelo painel.

Iniciando o aplicativo Node.js
Figura: Iniciando o aplicativo Node.js

Logs

A aba Logs apresenta as informações que seu aplicativo transmitir para saída. Preste sempre atenção nos erros apresentados pelo seu aplicativo.

Erros em logs do aplicativo Node.js
Figura: Erros em logs do aplicativo Node.js

Muito importante: O aplicativo pode ter erros também ocultos, pois depende do modo como o desenvolvedor o criou. O suporte de hospedagem não analisa e nem ajuda em resolver questões de desenvolvimento.