Como Instalar o Stack LEMN (Linux, Nginx, MariaDB, Node.js) no Ubuntu 24.04 LTS
Guia completo para configurar um servidor com Linux, Nginx, MariaDB, Node.js e swap ativo no Ubuntu 24.04.
O que é o LEMN?
LEMN é um acrônimo para:
- Linux – o sistema operacional base (Ubuntu 24.04 LTS);
- Nginx – servidor web e proxy reverso leve e rápido;
- MariaDB – sistema de banco de dados relacional;
- Node.js – ambiente de execução para JavaScript no backend.
Pré-requisitos
- Ubuntu 24.04 LTS com acesso root ou sudo
- Conexão com a internet
1. Atualize o sistema
sudo apt update && sudo apt upgrade -y
2. Configure a SWAP (memória virtual)
Se o seu servidor tem pouca RAM (ex: 1 GB), a SWAP evita travamentos e melhora o desempenho de compilação e execução.
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Verifique se está ativa:
swapon --show
3. Instale o Nginx
sudo apt install nginx -y
Verifique se está funcionando:
sudo systemctl status nginx
4. Instale o MariaDB
sudo apt install mariadb-server -y
Proteja com:
sudo mysql_secure_installation
5. Instale o Node.js e o npm
Adicione o repositório oficial do Node.js:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
Instale o Node.js:
sudo apt install nodejs -y
Verifique as versões:
node -v
npm -v
6. Atualize o npm para a última versão
O npm pode estar desatualizado no repositório. Atualize com:
sudo npm install -g npm@latest
Confirme a nova versão:
npm -v
7. Instale o PM2
sudo npm install -g pm2
8. Exemplo de App Node.js + PM2
mkdir ~/meuapp && cd ~/meuapp
nano index.js
Coloque este código:
const http = require('http');
const port = 3000;
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello from Node.js!');
}).listen(port);
console.log(`Servidor rodando em http://localhost:${port}`);
Inicie o app com PM2:
pm2 start index.js
pm2 startup
pm2 save
9. Configure o Nginx como Proxy Reverso
Crie um novo arquivo de configuração:
sudo nano /etc/nginx/sites-available/meuapp
Adicione:
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 e teste:
sudo ln -s /etc/nginx/sites-available/meuapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
10. Ative o firewall
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
11. (Opcional) Instale HTTPS com Certbot
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
Conclusão
Você finalizou a instalação do stack LEMN com sucesso no Ubuntu 24.04 LTS! Com Nginx, MariaDB, Node.js, PM2 e swap configurados, seu servidor está pronto para rodar aplicações modernas com eficiência.
Veja também este guia prático de configuração com Nginx para aplicações corporativas como o Mattermost:
Deixe um comentário