wils@web ~ $ cat ~/ajuda/como-configurar-uma-aplicacao-node-js-em-producao-com-pm2-e-nginx-no-ubuntu-22-04.md
DesenvolvimentoComo configurar uma aplicação Node.js em produção com PM2 e Nginx no Ubuntu 22.04
Este manual irá guiá-lo na configuração de uma aplicação Node.js em produção utilizando PM2 e Nginx no Ubuntu 22.04.
Pré-requisitos
- Ubuntu 22.04 instalado
- Node.js e npm instalados
- Acesso root ou sudo
Passo 1: Instalar PM2
PM2 é um gerenciador de processos para aplicações Node.js. Para instalá-lo, execute:
sudo npm install -g pm2
Passo 2: Criar sua aplicação Node.js
Crie um diretório para sua aplicação e inicie um novo projeto:
mkdir minha-aplicacao
cd minha-aplicacao
npm init -y
Crie um arquivo app.js com o seguinte conteúdo:
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Olá, mundo!');
});
app.listen(PORT, () => {
console.log(`Servidor rodando na porta ${PORT}`);
});
Passo 3: Iniciar a aplicação com PM2
Inicie sua aplicação usando PM2:
pm2 start app.js --name minha-aplicacao
Para garantir que a aplicação reinicie após reinicializações do servidor, execute:
pm2 startup
pm2 save
Passo 4: Instalar Nginx
Instale o Nginx com o seguinte comando:
sudo apt update
sudo apt install nginx
Passo 5: Configurar Nginx
Crie um arquivo de configuração para sua aplicação:
sudo nano /etc/nginx/sites-available/minha-aplicacao
Adicione o seguinte conteúdo:
server {
listen 80;
server_name seu_dominio.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Ative a configuração:
sudo ln -s /etc/nginx/sites-available/minha-aplicacao /etc/nginx/sites-enabled/
Teste a configuração e reinicie o Nginx:
sudo nginx -t
sudo systemctl restart nginx
Conclusão
Agora sua aplicação Node.js está rodando em produção com PM2 e Nginx. Lembre-se de monitorar sua aplicação e ajustar as configurações conforme necessário. Uma dica é configurar HTTPS usando Certbot para segurança adicional.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.