Node.js

Este guia inclui exemplos de como configurar os seguintes aplicativos Node.js para implantação nos serviços de hospedagem de aplicativos da Kinsta a partir de um repositório do GitHub:

Pré-requisitos

  • Os templates de início rápido da Kinsta são armazenados e gerenciados no GitHub; portanto, você precisa de uma conta do GitHub para acessá-los.
  • Você precisa criar uma conta MyKinsta para implantar o aplicativo.

Node.js

  1. Faça login no GitHub e crie um novo repositório a partir deste template (Use this template > Create a new repository): Kinsta – Hello World – Node.js.
  2. No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
  3. Escolha o repositório Hello World – Node.js e um local de centro de dados. Deixe todas as outras configurações como padrão e clique em Continuar em cada etapa.
  4. Na etapa Resumo, clique em Implantar agora.

Durante a implantação, a Kinsta detecta automaticamente o Comando Start para o processo web e instala as dependências definidas em seu arquivo package.json. O aplicativo estará disponível assim que a implantação for concluída, e a página de boas-vindas da Kinsta será carregada na URL do aplicativo.

Página de boas-vindas da Kinsta após a implantação bem-sucedida do Node.js.
Página de boas-vindas da Kinsta após a implantação bem-sucedida do Node.js.

Você prefere assistir à versão em vídeo?

Configuração do servidor web

Porta

A Kinsta define automaticamente a variável de ambiente PORT. Você não precisa defini-la ou codificá-la no aplicativo. Use process.env.PORT em seu código quando você se referir à porta do servidor.

app.listen(process.env.PORT, () => {
console.log(`Hello World Application is running on port ${process.env.PORT}`)
})

Comando Start

Quando você implanta um aplicativo, a Kinsta cria automaticamente um processo web com npm start como o Comando Start. Certifique-se de que você use esse comando para executar seu servidor. Se você quiser usar um comando diferente, precisará modificar o processo web no MyKinsta.

"scripts": {
"start": "node server.js"
},

Variáveis de ambiente

Por padrão, a variável de ambiente NODE_ENVnão está definida como production para aplicativos Node.js; você deve adicionar essa variável de ambiente manualmente.

Ciclo de vida da implantação

Sempre que uma implantação é iniciada (por meio da criação de um aplicativo ou da reimplantação devido a uma confirmação de entrada), o comando npm build é executado, seguido pelo comando npm start.

Aplicativo Node.js com um Dockerfile

  1. Faça login no GitHub e crie um novo repositório a partir deste template (Use this template > Create a new repository): Kinsta – Hello World – Dockerfile – Node.js.
  2. No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
  3. Escolha o repositório Hello World – Dockerfile – Node.js e um local de centro de dados, deixe todas as outras configurações como padrão e clique em Continuar.
  4. Na etapa Ambiente de build, selecione Usar Dockerfile para configurar uma imagem de contêiner e clique em Continuar > todas as outras configurações podem permanecer como padrão, clique em Continuar > Implantar agora.

O Dockerfile deve conter o Comando Start em uma linha CMD ou em uma instrução ENTRYPOINT. O aplicativo estará disponível assim que a implantação for concluída, e uma página Hello World será carregada na URL do aplicativo.

Página Hello World do Node.js com Dockerfile após a instalação bem-sucedida.
Página Hello World do Node.js com Dockerfile após a instalação bem-sucedida.

Ciclo de vida da implantação

Quando você cria o aplicativo, a Kinsta cria um processo a partir da instrução CMD no Dockerfile:

CMD ["npm", "run", "start"]

Se você alterar esse comando no repositório após a implantação do aplicativo, o processo não será atualizado automaticamente no MyKinsta, portanto, você também deverá editar o Comando Start nos processos do aplicativo.

Aplicativo Node.js para enviar e-mails

Este é um exemplo de como configurar um aplicativo Node.js para enviar e-mails via SendGrid nos serviços de hospedagem de aplicativos da Kinsta, implantado a partir de um repositório GitHub.

A Kinsta não suporta nativamente e-mails de saída de servidores. Ao enviar e-mails por meio de provedores de saída especializados, como SendGrid ou Mailchimp, você tem mais flexibilidade e taxas de sucesso mais altas para e-mails transacionais e de campanha.

  1. Você pode fazer login no GitHub e criar um novo repositório a partir deste template (Use this template > Create a new repository): Kinsta – Hello World – Envio de e-mail com Node.js.
  2. No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
  3. Escolha o repositório Hello World – Email Sending With Node.js e um local de centro de dados. Em Variáveis de ambiente, adicione o seguinte:
    • SENDGRID_API_KEY: A chave da API do SendGrid.
    • TEST_EMAIL_TO_ADDRESS: O endereço para o qual você gostaria de enviar o e-mail de teste.
    • TEST_EMAIL_FROM_ADDRESS: O endereço do qual você gostaria de enviar o e-mail de teste.
    • TEST_ENDPOINT: O endpoint que você gostaria de usar como acionador para enviar o e-mail de teste. Use uma string aleatória de pelo menos 8 caracteres.
  4. Deixe todas as outras configurações como padrão e clique em Continuar em cada etapa. Na etapa Resumo, clique em Implantar agora.

O aplicativo estará disponível assim que a implantação for concluída, e uma página Hello World será carregada na URL do aplicativo.

E-mail do Node.js enviando a página Hello World após a instalação bem-sucedida.
E-mail do Node.js enviando a página Hello World após a instalação bem-sucedida.

Acionando um e-mail

Este projeto não requer uma fase de build. O comando start executa node server.js,, que inicia um servidor Express com dois endpoints:

  • /: Uma página simples que retorna a mensagem Hello World
  • /${TEST_ENDPOINT}: Uma página que aciona um e-mail de teste.

Para acionar um e-mail, localize a URL da sua implantação na página Implantações, anexe seu endpoint de teste a essa URL e visite a página. Por exemplo, se o seu TEST_ENDPOINT estiver definido como o34nifnodhni4of e a implantação mais recente estiver em https://example.kinsta.app, você poderá acionar um e-mail de teste em https://example.kinsta.app/o34nifnodhni4of no navegador.

Se o e-mail de teste for bem-sucedido, será exibida uma mensagem “E-mail enviado”.

Mensagem de e-mail enviada pelo Node.js.
Mensagem de e-mail enviada pelo Node.js.

Se você verificar isso no SendGrid, também receberá uma mensagem de sucesso.

Teste o e-mail recebido no SendGrid.
Teste o e-mail recebido no SendGrid.
Este artigo foi útil?