Node.js Uygulamasını VPS’te Yayına Alma

Node.js tabanlı bir web uygulamasını VPS (Virtual Private Server) ortamında yayına almak, geliştiriciler için ölçeklenebilir ve maliyet etkili bir çözüm sunar.

Reklam Alanı

Node.js tabanlı bir web uygulamasını VPS (Virtual Private Server) ortamında yayına almak, geliştiriciler için ölçeklenebilir ve maliyet etkili bir çözüm sunar. Bu süreç, sunucu hazırlığından uygulamanın sürekli çalışmasına kadar titiz bir planlama gerektirir. Bu makalede, Ubuntu tabanlı bir VPS üzerinden adım adım bir rehber sunacağız. Kurumsal projelerde sıkça tercih edilen en iyi uygulamaları ele alarak, güvenlik, performans ve bakım odaklı bir yaklaşım benimseyeceğiz. Bu rehberi takip ederek, uygulamanızı üretim ortamına sorunsuz bir şekilde taşıyabilirsiniz.

VPS Sunucusunu Hazırlama

VPS’inizi ilk olarak güncel ve güvenli bir hale getirmek, uygulamanızın uzun vadeli başarısı için kritik öneme sahiptir. Ubuntu Server gibi stabil bir dağıtımı tercih edin ve root erişimiyle başlayın. Sistem güncellemeleriyle başlayarak, olası güvenlik açıklarını kapatın. Ardından Node.js’i en son LTS sürümünü yükleyin ki uyumluluk sorunları yaşanmasın. Firewall kurallarını tanımlayarak yalnızca gerekli portları açın; örneğin SSH için 22, HTTP için 80 ve HTTPS için 443 numaralı portlar.

İşletim Sistemi ve Paket Güncellemeleri

Sunucuya SSH ile bağlandıktan sonra, sudo apt update && sudo apt upgrade -y komutunu çalıştırın. Bu işlem, mevcut paketleri en son sürüme getirir ve güvenlik yamalarını uygular. Ardından sudo apt install curl wget git ile temel araçları yükleyin. Bu adımlar, Node.js bağımlılıklarını yönetmek için gereklidir. Sistem yeniden başlatma yapın: sudo reboot. Bu hazırlık aşaması yaklaşık 5-10 dakika sürer ve uygulamanızın stabil çalışmasını sağlar. Unutmayın, düzenli güncellemeler güvenlik politikalarınızın temel taşıdır.

Node.js ve NPM Kurulumu

NodeSource deposunu kullanarak Node.js 18 LTS’yi yükleyin: curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - ardından sudo apt-get install -y nodejs. Versiyonu doğrulayın: node -v ve npm -v. Global paketler için sudo npm install -g npm@latest çalıştırın. Bu yöntem, resmi paket yöneticisinden daha güncel sürümler sağlar ve bağımlılık çakışmalarını önler. Kurulum sonrası, npx gibi araçlarla modern geliştirme akışını destekleyin.

Temel Güvenlik Yapılandırmaları

UFW firewall’u etkinleştirin: sudo ufw allow OpenSSH, sudo ufw enable. Fail2Ban kurun: sudo apt install fail2ban ve SSH konfigürasyonunu düzenleyin. Yeni bir sudo kullanıcısı oluşturun: sudo adduser deployer, sudo usermod -aG sudo deployer ve anahtar tabanlı kimlik doğrulamayı etkinleştirin. Bu adımlar, brute-force saldırılarını engeller ve erişimi kısıtlar. Root login’ini devre dışı bırakarak katmanlı güvenlik sağlayın.

Uygulama Kodunu Yükleme ve Yapılandırma

Uygulama kodunuzu Git reposundan çekin veya SCP ile aktarın. Ortam değişkenlerini .env dosyasında tanımlayın; veritabanı bağlantıları, API anahtarları gibi hassas bilgileri buraya yerleştirin. Bağımlılıkları yükledikten sonra, test ortamında çalıştırarak doğrulayın. Bu aşama, üretim hatalarını minimize eder ve deploy sürecini hızlandırır.

Kod Transferi ve Depo Yönetimi

git clone https://github.com/kullanici/uygulama.git ile kodu çekin veya scp -r yerel_dizin deployer@ip:/home/deployer/app kullanın. Dizine geçin: cd app. .gitignore‘da node_modules ve .env’yi hariç tutun. Bu yöntem, versiyon kontrolü sağlar ve rollback kolaylığı sunar. Büyük projelerde, git pull ile güncellemeleri entegre edin.

Bağımlılık Yükleme ve Ortam Yapılandırması

npm install ile package.json’daki bağımlılıkları yükleyin. Production için npm install --production tercih edin ki dev bağımlılıklar yüklenmesin. .env örneği: PORT=3000 DB_HOST=localhost. Uygulamayı test edin: npm start. Hata loglarını inceleyin ve port çakışmalarını çözün. Bu detaylar, deploy’un %80 başarı oranını belirler.

Uygulamayı Çalıştırma ve Sürekli İzleme

PM2 gibi bir process manager ile uygulamanızı daemon modunda çalıştırın. Nginx’i reverse proxy olarak yapılandırarak trafiği yönetin. Log rotasyonu ve otomatik yeniden başlatma ile kesintisiz hizmet sağlayın. Performans metriklerini araçlarla takip ederek proaktif bakım yapın.

PM2 ile Süreç Yönetimi

sudo npm install -g pm2 yükleyin. pm2 start ecosystem.config.js ile başlatın; config dosyası: module.exports = { apps: [{ name: 'app', script: 'server.js', instances: 'max', exec_mode: 'cluster' }] }. pm2 startup ve pm2 save ile sistem başlangıcında otomatik çalıştırın. pm2 monit ile CPU/RAM kullanımını izleyin. Bu, uygulamanızın %99.9 uptime’ını garanti eder.

Nginx Reverse Proxy ve SSL Entegrasyonu

sudo apt install nginx, site config: server { listen 80; location / { proxy_pass http://localhost:3000; } }. sudo nginx -t ve sudo systemctl restart nginx. Let’s Encrypt için Certbot kullanın: sudo certbot --nginx. Bu, trafiği HTTPS’e yönlendirir ve güvenliği artırır.

Bu rehberi uygulayarak Node.js projenizi VPS’te profesyonelce yayına alabilirsiniz. Düzenli yedeklemeler alın, monitöring araçları entegre edin ve ölçeklendirme ihtiyaçlarını öngörün. Başarılı bir deploy, sürekli iyileştirmelerle tamamlanır.

Yazar: Meka
İçerik: 619 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 18-03-2026
Güncelleme: 18-03-2026
Benzer İçerikler
Faydalı İçerikler kategorisinden ilginize çekebilecek benzer içerikler