Blog'a Dön

Node.js Uygulama Deploy Rehberi: PM2 ve Nginx (2026)

Node.js uygulamanızı VDS sunucuya deploy edin: PM2 process manager, Nginx reverse proxy, SSL sonlandırma ve otomatik yeniden başlatma.

node.jspm2deploynginxreverse proxyexpress

Node.js uygulamanızı geliştirme ortamından canlı bir sunucuya taşımak, doğru araçlarla oldukça basittir. Bu rehberde bir VDS sunucuda PM2 process manager ve Nginx reverse proxy ile üretime hazır bir deploy sürecini adım adım ele alıyoruz.

Neden PM2 ve Nginx?

  • PM2: Uygulamayı arka planda çalıştırır, çökmede otomatik yeniden başlatır ve sunucu yeniden başladığında ayağa kaldırır.
  • Nginx: 80/443 portlarını dinler, SSL sonlandırması yapar ve trafiği uygulamanıza yönlendirir.

1. Node.js Kurulumu

Güncel bir LTS sürümü için NodeSource deposunu kullanın veya nvm ile kurulum yapın. Kurulumdan sonra sürümü doğrulayın:

node -v
npm -v

2. Uygulamayı Sunucuya Aktarma

Projenizi Git ile çekin ve bağımlılıkları kurun:

git clone https://github.com/kullanici/proje.git
cd proje
npm install --production

3. PM2 ile Çalıştırma

PM2'yi global kurup uygulamayı başlatın:

sudo npm install -g pm2
pm2 start app.js --name uygulamam
pm2 save
pm2 startup

pm2 startup, sunucu yeniden başladığında uygulamanın otomatik ayağa kalkmasını sağlar. Durumu pm2 status ile izleyebilirsiniz.

4. Nginx Reverse Proxy

Uygulamanız örneğin 3000 portunda çalışıyorsa, Nginx bu portu 80/443'e yönlendirir:

server {
    listen 80;
    server_name orneksite.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

WebSocket kullanan uygulamalar için Upgrade başlıkları önemlidir.

5. SSL Kurulumu

Certbot ile Let's Encrypt sertifikası kurarak HTTPS'e geçin. Bu, güvenlik ve SEO için standart bir adımdır.

6. Ortam Değişkenleri ve Güvenlik

  • Gizli anahtarları .env dosyasında tutun, sürüm kontrolüne eklemeyin.
  • Uygulamayı root olmayan bir kullanıcı ile çalıştırın.
  • Firewall'da yalnızca gerekli portları açık bırakın.

Sonuç

PM2 uygulamanızı ayakta tutar, Nginx güvenli ve performanslı bir giriş katmanı sağlar. Bu ikili, küçük API'lerden yüksek trafikli uygulamalara kadar güvenilir bir deploy düzeni oluşturur. Trafiğiniz büyüdükçe PM2 cluster modu ile çok çekirdekli ölçekleme yapabilirsiniz.

İlgili rehberler:

Node.js uygulamalarınız için root erişimli VDS Sunucu paketlerimizi inceleyin.