Deployment (PM2)
Build, PM2 process config, Nginx reverse proxy, and SSL.
Build & Start
npm run build
npm startPM2 Configuration
Create ecosystem.config.js:
module.exports = {
apps: [{
name: "pvd-library",
script: "node_modules/.bin/next",
args: "start",
cwd: "/home/library/pvd-library",
instances: 1,
autorestart: true,
env: {
NODE_ENV: "production",
PORT: 3000,
},
}],
};Start Service
pm2 start ecosystem.config.js
pm2 save
pm2 startupUseful Commands
| Command | Purpose |
|---|---|
| pm2 status | Show all processes |
| pm2 logs pvd-library | Stream live logs |
| pm2 restart pvd-library | Restart after update |
| pm2 monit | CPU/memory monitor |
Nginx Reverse Proxy
server {
listen 80;
server_name yourdomain.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;
}
}SSL Certificate (Certbot)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com