Selepas anda menempatkan aplikasi Node.js pada VPS, menjalankan node app.js secara terus akan berhenti sebaik sahaja sesi SSH ditutup. Persekitaran produksi memerlukan pengurusan proses, mula automatik semasa but, dan proksi songsang. Panduan ini menggunakan PM2 dan Nginx.
1. Pasang Node.js (nvm disyorkan)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
node -v && npm -v
2. Tempatkan kod anda
git clone https://your-repo.git app
cd app
npm install --production
3. Kekalkan ia berjalan dengan PM2
npm install -g pm2
pm2 start app.js --name myapp
pm2 status
pm2 logs myapp
Pastikan PM2 melancarkan semula aplikasi anda selepas but semula:
pm2 save
pm2 startup # kemudian jalankan baris sudo yang dipaparkan
4. Proksi songsang dengan Nginx (port 80/443)
Dengan andaian aplikasi mendengar pada port 3000, cipta konfigurasi laman:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Uji dan muat semula: sudo nginx -t && sudo systemctl reload nginx. Kemudian keluarkan sijil SSL dengan Certbot untuk menyajikan HTTPS.
5. Masalah biasa
- Port sedang digunakan: cari dan bebaskannya dengan
lsof -i:3000. - But semula akibat kebocoran memori:
pm2 start app.js --max-memory-restart 300M. - Mengemas kini kod:
git pull && npm install && pm2 reload myapp(muat semula tanpa gangguan).
Perlukan bantuan menyelesaikan masalah penempatan? Hubungi jualan di Telegram @aliyun370.