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
- 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.
- No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
- 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.
- 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.
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_ENV
nã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
- 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.
- No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
- 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.
- 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.
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.
- 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.
- No MyKinsta, clique em Aplicativos > Adicionar aplicativo > selecione GitHub, clique em Conectar provedor git > Autorizar e faça login na sua conta do GitHub.
- 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.
- 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.
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”.
Se você verificar isso no SendGrid, também receberá uma mensagem de sucesso.