Makale Başlıkları
- Node.js Hosting Nedir?
- Paylaşımlı Node.js Hosting mi, VDS/Bulut mu, PaaS mı?
- Node.js Uygulaması Adım Adım Nasıl Yayına Alınır?
- Node Sürüm Yönetimi: LTS mi, Current mi?
- Uygulama Kalıcılığı: Süreç Yöneticisi Neden Zorunlu?
- Ters Vekil (Reverse Proxy) ve WebSocket
- Veritabanı Seçimi
- Türkiye Lokasyonu ve Düşük Gecikme Avantajı
- Ne Zaman VDS veya Buluta Geçmelisiniz?
- Node.js Hosting Güvenliği
- Sıkça Sorulan Sorular
Kısaca
Node.js hosting, JavaScript ile yazılmış sunucu tarafı uygulamaları çalıştırabilen barındırma hizmetidir. Klasik PHP hostingten temel farkı, uygulamanızın istek geldiğinde çalışıp kapanan bir betik değil, sürekli ayakta duran bir süreç (process) olmasıdır. Bu yüzden Node.js hosting seçerken sürüm seçici, süreç yöneticisi, ters vekil ve WebSocket desteği gibi başlıklara bakmak gerekir.
- Node.js uygulaması sürekli çalışan bir süreçtir; PM2 veya Passenger gibi bir süreç yöneticisi olmadan ilk çökmede siteniz düşer.
- Küçük ve orta ölçekli projeler için paylaşımlı Node.js hosting yeterlidir; özel port, ağır kuyruk ve konteyner gerekiyorsa VDS ya da bulut sunucuya geçilir.
- Hedef kitleniz Türkiye’deyse yurt dışı sunucuya kıyasla onlarca milisaniyelik gecikme farkı, özellikle WebSocket ve API çağrılarında doğrudan hissedilir.
- Sürüm yönetimi kritiktir: üretimde “Current” sürüm yerine LTS (uzun destekli) hattı tercih edilmelidir.
Node.js hosting, JavaScript ile geliştirilen sunucu tarafı uygulamaların (API’ler, gerçek zamanlı servisler, Express/NestJS/Next.js projeleri) çalışması için gereken Node.js çalışma zamanını, süreç yöneticisini ve ters vekil yapılandırmasını sağlayan barındırma hizmetidir. Uygulamanız sunucuda kesintisiz bir süreç olarak ayakta durur ve gelen istekleri doğrudan karşılar.
Node.js barındırma seçerken yapılan hataların neredeyse tamamı tek bir cümlede saklı: uygulamanız sürekli çalışan bir süreçtir. PHP alışkanlıklarıyla Node.js projesi yayına almaya çalışanların takıldığı yer de tam olarak burasıdır. Bu yazıda Node.js hosting’in klasik hostingten nerede ayrıldığını, hangi durumda paylaşımlı pakete hangi durumda VDS ya da buluta geçmeniz gerektiğini ve Türkiye lokasyonunun neden somut bir avantaj olduğunu ele alıyoruz.
Node.js Hosting Nedir?
Node.js, Google’ın V8 motoru üzerine kurulmuş, JavaScript’i tarayıcıdan çıkarıp sunucuya taşıyan bir çalışma zamanıdır (runtime). Asenkron ve olay güdümlü (event-driven) mimarisi sayesinde tek bir süreç, binlerce eşzamanlı bağlantıyı düşük bellek maliyetiyle taşıyabilir; bu da onu sohbet uygulamaları, canlı bildirim servisleri, API geçitleri ve gerçek zamanlı panolar için doğal bir tercih haline getirir.
Node.js hosting ise bu çalışma zamanının kurulu olduğu, NPM ile bağımlılıklarınızı yükleyebildiğiniz ve uygulamanızı arka planda kalıcı olarak çalıştırabildiğiniz barındırma ortamıdır. Modern paylaşımlı paketlerde bu iş, kontrol panelindeki bir Node.js uygulama yöneticisi ile yapılır: uygulama kök dizinini, başlangıç dosyasını ve Node sürümünü seçersiniz, gerisini panel halleder.
Klasik PHP Hostingten Farkı
Bir PHP sitesinde ziyaretçi bir sayfa istediğinde web sunucusu PHP yorumlayıcısını çağırır, betik çalışır, HTML üretilir ve süreç kapanır. Her istek temiz bir sayfadan başlar. Node.js’te ise durum tersidir: uygulamanız bir kez başlatılır ve sunucuda sürekli ayakta kalır; gelen tüm istekleri aynı süreç karşılar.
Bu mimari farkın pratik sonuçları şunlardır:
- Bellek kalıcıdır: Değişkenler, önbellekler ve veritabanı bağlantı havuzları istekler arasında yaşar. Bu bir avantajdır; ama bellek sızıntısı yaparsanız süreç zamanla şişer.
- Çökme kalıcıdır: Yakalanmamış tek bir hata süreci öldürürse PHP’deki gibi “sadece o istek hata verir” durumu yoktur; tüm site düşer. Süreç yöneticisi bu yüzden zorunludur.
- Kod değişikliği anında yansımaz: Dosyayı FTP ile değiştirmek yetmez, uygulamayı yeniden başlatmanız gerekir.
- Port kavramı vardır: Uygulamanız bir portu dinler; ziyaretçi 80/443’ten gelir. Aradaki köprüyü ters vekil (reverse proxy) kurar.
Kısacası Node.js hosting, “dosyaları at çalışsın” mantığından “uygulamayı yayına al ve ayakta tut” mantığına geçiştir. Paylaşımlı hosting paketleri arasında seçim yaparken paketin bu yaşam döngüsünü yönetecek araçları sunup sunmadığına bakın.
Paylaşımlı Node.js Hosting mi, VDS/Bulut mu, PaaS mı?
Node.js uygulamasını yayına almanın üç yaygın yolu vardır ve doğru seçim projenizin ölçeğine bağlıdır. Aşağıdaki tablo üç modeli kontrol, maliyet ve ölçeklenme açısından karşılaştırır:
| Kriter | Paylaşımlı Node.js Hosting | VDS / Bulut Sunucu | PaaS (Yönetilen Platform) |
|---|---|---|---|
| Sunucu kontrolü | Sınırlı; panelden sürüm ve ortam değişkenleri | Tam kök (root) erişimi | Yok; platformun kurallarına uyarsınız |
| Kurulum zorluğu | Düşük — panelden birkaç tıkla | Yüksek — Node, ters vekil, süreç yöneticisi ve güvenlik duvarını siz kurarsınız | Çok düşük — git push ile dağıtım |
| Maliyet | En ekonomik; aylık sabit ücret | Orta; kaynak arttıkça artar | Trafik arttıkça hızla pahalılaşır |
| Ölçeklenme | Dikey ve sınırlı; paket yükseltmesiyle | Dikey ve yatay; CPU/RAM ekleyip düğüm açabilirsiniz | Otomatik ama fiyat kontrolü sizde değil |
| Docker / konteyner | Genellikle yok | Var | Platforma bağlı |
| Arka plan işleri (worker, cron) | Kısıtlı | Serbest | Ek ücretli bileşen |
| Uygun senaryo | Kurumsal site, orta trafikli API, kişisel proje | Yüksek trafik, mikroservis, kuyruk sistemi | Hızlı prototip, kısa ömürlü projeler |
Çoğu proje için doğru başlangıç noktası paylaşımlı Node.js hosting paketidir: altyapı derdine girmeden uygulamanızı yayına alır, trafik büyüdüğünde bulut sunucu ya da VDS’ye geçersiniz.
Node.js Uygulaması Adım Adım Nasıl Yayına Alınır?
Paylaşımlı bir Node.js hosting paketinde tipik yayına alma akışı şöyledir:
- Node sürümünü seçin. Kontrol panelindeki Node.js uygulama yöneticisinden projenizin
package.jsondosyasındakienginesalanına uygun sürümü işaretleyin. Üretimde daima LTS (uzun destekli) hattı seçin. - Uygulama kök dizinini ve başlangıç dosyasını tanımlayın. Örneğin kök dizin
apps/api, başlangıç dosyasıserver.jsveyaapp.jsolabilir. Panel, bu dizini uygulamanın çalışma alanı olarak işaretler. - Kodu sunucuya taşıyın. Git deposundan çekin, SSH ile aktarın ya da dosya yöneticisiyle yükleyin.
node_modulesklasörünü yüklemeyin; bağımlılıklar sunucuda kurulur. - Bağımlılıkları kurun. Panelin “NPM Install” düğmesini kullanın veya SSH’ten
npm ci --omit=devçalıştırın. Bu komutpackage-lock.jsondosyasını temel aldığı için sürüm sürprizlerini engeller. - Ortam değişkenlerini girin. Veritabanı şifresi, API anahtarı ve
NODE_ENV=productiongibi değerleri kod içine gömmeyin; panelin ortam değişkenleri bölümüne yazın. - Portu doğru dinleyin. Sabit port yerine platformun verdiği portu okuyun:
app.listen(process.env.PORT || 3000). Ters vekil, 443’ten gelen isteği bu porta iletir. - Uygulamayı başlatın. Panelden “Restart”a basın; süreç yöneticisi (Passenger veya PM2) uygulamayı ayağa kaldırır ve çökerse otomatik yeniden başlatır.
- SSL sertifikasını etkinleştirin. Alan adınıza bir SSL sertifikası tanımlayın; HTTPS olmadan modern tarayıcılar WebSocket gibi özellikleri kısıtlar.
- Kayıt ve sağlık kontrolü kurun. Günlükleri panelden izleyin, basit bir
/healthuç noktası ekleyip dışarıdan düzenli olarak yoklayın.
Node Sürüm Yönetimi: LTS mi, Current mi?
Node.js iki hat yayınlar: Current (en yeni özellikler, kısa ömürlü) ve LTS (uzun süreli destek, güvenlik yamaları uzun yıllar sürer). 2026 ortası itibarıyla Node.js 24 etkin LTS hattıdır; Node.js 22 bakım LTS’i olarak desteklenmeye devam eder ve Node.js 26 henüz “Current” statüsündedir; LTS’e Ekim 2026’da geçmesi planlanmaktadır.
Üretim ortamı için kural nettir: LTS statüsündeki sürümü seçin. Current hattı geliştirme ve deneme için uygundur, ancak destek süresi kısadır ve kırıcı değişiklikler getirebilir. Node.js projesi ayrıca Node 27’den itibaren yılda tek majör sürüme geçeceğini duyurdu; bu da sürüm planlamasını sadeleştirecek.
Paketinizi seçerken sunucunun birden fazla Node sürümü sunup sunmadığına bakın. Eski bir projeyi taşırken hedef sürüm mevcut değilse kodu yükseltmek zorunda kalırsınız; panelden sürüm değiştirebilmek taşıma sürecini kolaylaştırır.
Uygulama Kalıcılığı: Süreç Yöneticisi Neden Zorunlu?
Node.js uygulamanızı SSH ile node server.js diye başlatırsanız oturumu kapattığınız anda süreç ölür; sunucu yeniden başlatılırsa yine ölür; yakalanmamış bir istisna oluşursa yine ölür. Her üç senaryo da gerçek dünyada “siteniz erişilemez” demektir. Çözüm bir süreç yöneticisidir:
- Phusion Passenger: Paylaşımlı hosting panellerinde entegre gelir; uygulamayı web sunucusuyla birlikte yönetir ve çökmede yeniden başlatır. Ek yapılandırma gerektirmez.
- PM2: VDS ve bulut sunucularda en yaygın seçenek. Çökmede otomatik yeniden başlatma, sunucu açılışında ayağa kalkma (
pm2 startup), günlük yönetimi ve cluster modu sunar. - systemd: Kök erişiminiz varsa Node uygulamanızı bir sistem servisi olarak tanımlayıp işletim sistemine emanet edebilirsiniz.
Cluster modu özellikle önemlidir: Node.js tek iş parçacığında (single-threaded) çalıştığı için dört çekirdekli bir sunucuda tek süreç yalnızca bir çekirdeği kullanır. PM2’nin cluster modu, çekirdek sayısı kadar kopya açıp yükü paylaştırır ve kapasiteyi katlar.
Ters Vekil (Reverse Proxy) ve WebSocket
Node.js uygulamanızı doğrudan 80/443 portundan internete açmak önerilmez. Üretimde standart mimari şudur: önde bir web sunucusu (Nginx, LiteSpeed veya Apache) ters vekil olarak durur, arkada Node uygulamanız kendi portunda çalışır.
Ters vekil; TLS/SSL sonlandırmasını üstlenir, statik dosyaları (resim, CSS, JS) doğrudan sunarak Node sürecini bu yükten kurtarır, sıkıştırma ve önbellekleme yapar, bağlantı sınırlaması uygular ve birden fazla uygulamayı tek IP üzerinden farklı alan adlarıyla yayınlamanızı sağlar.
WebSocket desteği burada özel dikkat ister. Gerçek zamanlı sohbet veya canlı bildirim yapan bir uygulama, HTTP bağlantısını WebSocket’e yükseltir (upgrade). Ters vekilin bu yükseltme başlıklarını (Upgrade ve Connection) doğru iletmesi gerekir; aksi halde bağlantı kurulmaz ve istemci sürekli yeniden bağlanmayı dener. Paket seçerken WebSocket ve uzun ömürlü bağlantılara izin verilip verilmediğini mutlaka sorun; bazı ortamlar bağlantıyı bir süre sonra keser.
Veritabanı Seçimi
Node.js ekosisteminde veritabanı tercihi projenin veri yapısına göre değişir:
- PostgreSQL: İlişkisel, güçlü, JSON desteği olgun. Tutarlılık gerektiren kurumsal projeler için ilk tercih.
- MySQL / MariaDB: Paylaşımlı paketlerde neredeyse her zaman hazır gelir; klasik CRUD uygulamaları ve orta ölçekli API’ler için fazlasıyla yeterlidir.
- MongoDB: Belge tabanlı ve şeması esnek. Yapısı sık değişen veriler için pratiktir; ilişkisel raporlama ihtiyacınız varsa zorlar.
- Redis: Veritabanı değil, bellek içi önbellek ve kuyruk katmanı. Oturum saklama ve arka plan işleri için kullanılır.
Kritik nokta: veritabanı ile uygulama sunucusu arasındaki gecikme. Uygulamanız İzmir’de, veritabanınız yurt dışındaysa her sorgu için ek gecikme ödersiniz; sayfa başına 30 sorgu yapan bir uç nokta bu farkı katlayarak hissettirir. İkisini aynı veri merkezinde tutun.
Türkiye Lokasyonu ve Düşük Gecikme Avantajı
Ziyaretçilerinizin çoğunluğu Türkiye’deyse, sunucu lokasyonu pazarlama sloganı değil ölçülebilir bir performans faktörüdür. Yurt dışındaki bir veri merkezine giden trafik, fiziksel mesafe ve ara ağ atlamaları nedeniyle her istekte belirgin bir gecikme (ping) farkı yaşar; Türkiye içindeki bir veri merkezinde ise bu süre tipik olarak çok daha düşük kalır.
Fark iki yerde keskinleşir: API çağrılarında, çünkü tek sayfa uygulamaları (SPA) bir ekranı çizmek için birden fazla istek yapar ve her istekteki fazladan gecikme katlanarak birikir; bir de WebSocket tabanlı gerçek zamanlı özelliklerde, çünkü anlık mesajlaşma ve canlı panolarda gecikme doğrudan “takılma” hissi yaratır.
Alastyr’ın Node.js hosting altyapısı kendi İzmir veri merkezinde, N+1 yedekli enerji ve soğutma mimarisiyle çalışır. Ağ tarafında RIPE üyesi AS3188 otonom sistemi, depolama tarafında NVMe SSD diskler bulunur. Kesintisiz erişim için %99,9 uptime taahhüdü verilir; yaklaşımımızı uptime ve istikrar sayfasında ayrıntılı bulabilirsiniz.
Ne Zaman VDS veya Buluta Geçmelisiniz?
Paylaşımlı Node.js hosting geniş bir aralığı rahatça taşır, ancak aşağıdaki işaretlerden birkaçı birden görünüyorsa taşınma vakti gelmiştir:
- Uygulamanız arka plan işçileri, kuyruk sistemi (BullMQ, RabbitMQ) veya zamanlanmış ağır görevler çalıştırıyor.
- Docker ile dağıtım yapmak, mikroservisleri ayrı konteynerlerde çalıştırmak istiyorsunuz.
- Redis, Elasticsearch gibi ek servisleri kendi sunucunuzda barındırmanız gerekiyor.
- Trafik arttı ve cluster modunda çok çekirdekli çalışmak istiyorsunuz.
- Özel bir port ya da derlenmiş bir yerel modül (native module) gerekiyor.
- CI/CD hattınızdan otomatik dağıtım yapmak istiyorsunuz.
Bu noktada sunucu çözümleri arasından bir VDS ya da bulut sunucu seçip Node, Nginx ve PM2 yığınını kendiniz kurabilirsiniz. Büyüyen altyapı yaklaşımımız paylaşımlı paketten sunucuya geçişi kesintisiz hale getirir; ücretsiz taşıma desteği bu geçişte de geçerlidir.
Node.js Hosting Güvenliği
Node.js uygulamalarının güvenlik yüzeyi, PHP sitelerinden farklı yerlerde açık verir:
- Bağımlılık zinciri: Ortalama bir Node projesi yüzlerce dolaylı bağımlılık taşır. Düzenli olarak
npm auditçalıştırın ve gereksiz paketleri temizleyin. - Sırların yönetimi: API anahtarları ve veritabanı şifreleri asla depoya girmemeli; ortam değişkenlerinde tutulmalıdır.
- Girdi doğrulama ve hız sınırlama: Gelen veriyi şema doğrulamasından geçirin; kimlik doğrulama uç noktalarına istek sınırı koyun.
- Güvenlik başlıkları ve HTTPS: Ters vekil üzerinde güvenlik başlıklarını etkinleştirin, tüm trafiği HTTPS’e yönlendirin.
- Üretim modu:
NODE_ENV=productionayarlanmadığında bazı çerçeveler ayrıntılı hata izlerini kullanıcıya gösterir; bu, saldırgana bilgi hediye etmektir.
Sunucu tarafında güncel yamalar, güvenlik duvarı ve düzenli yedekleme temel savunma hattınızdır. 7/24 destek ekibimiz şüpheli durumlarda yönlendirme sağlar.
Sıkça Sorulan Sorular
Node.js hosting ile normal hosting arasındaki fark nedir?
Normal (PHP tabanlı) hostingte betikler her istekte çalışıp kapanır. Node.js hostingte ise uygulamanız sürekli ayakta kalan bir süreç olarak çalışır, kendi portunu dinler ve bir süreç yöneticisi tarafından canlı tutulur. Bu yüzden Node.js hosting paketleri sürüm seçici, NPM yönetimi ve uygulama yeniden başlatma araçları sunar.
Node.js için hangi sürümü seçmeliyim?
Üretim ortamında daima LTS (uzun süreli destek) statüsündeki bir sürümü seçin. 2026 ortası itibarıyla Node.js 24 etkin LTS hattıdır, Node.js 22 bakım desteği almaya devam eder. Node.js 26 ise henüz Current statüsündedir ve LTS’e geçmesi Ekim 2026 olarak planlanmıştır. Projenizin package.json dosyasındaki engines alanı ile sunucudaki sürümün uyumlu olduğundan emin olun.
Paylaşımlı hostingte Node.js uygulaması çalışır mı?
Evet. Node.js uygulama yöneticisi bulunan paylaşımlı paketlerde Express, NestJS veya benzeri çerçevelerle yazılmış uygulamaları panel üzerinden yayına alabilirsiniz. Kurumsal siteler, orta trafikli API’ler ve kişisel projeler için paylaşımlı Node.js hosting fazlasıyla yeterlidir. Docker, kuyruk sistemi veya özel port gerekiyorsa VDS ya da bulut sunucuya geçmelisiniz.
PM2 nedir ve neden gereklidir?
PM2, Node.js uygulamalarını arka planda kalıcı olarak çalıştıran bir süreç yöneticisidir. Uygulama çökerse otomatik yeniden başlatır, sunucu yeniden açıldığında uygulamayı ayağa kaldırır, günlükleri yönetir ve cluster modu ile CPU çekirdeği başına bir işçi süreç açarak kapasiteyi artırır. Süreç yöneticisi olmadan ilk hatada tüm uygulamanız durur.
Node.js uygulamamda WebSocket kullanabilir miyim?
Kullanabilirsiniz, ancak öndeki ters vekilin WebSocket yükseltme başlıklarını (Upgrade ve Connection) doğru ilettiğinden ve uzun ömürlü bağlantılara izin verdiğinden emin olmanız gerekir. Barındırma sağlayıcınıza bağlantı zaman aşımı sınırlarını sormanız, gerçek zamanlı uygulamalarda sürpriz kopmaları önler.
Sunucumun Türkiye’de olması gerçekten fark yaratır mı?
Hedef kitleniz Türkiye’deyse evet. Yurt dışı veri merkezlerine kıyasla gecikme (ping) belirgin biçimde düşer ve bu fark, birden fazla API çağrısı yapan tek sayfa uygulamalarında ve WebSocket tabanlı gerçek zamanlı özelliklerde doğrudan hissedilir. Alastyr, Node.js hosting hizmetini kendi İzmir veri merkezinde, RIPE üyesi AS3188 ağı üzerinden sunar.
Node.js hostingte hangi veritabanını kullanmalıyım?
İlişkisel ve tutarlılık gerektiren veriler için PostgreSQL veya MySQL/MariaDB, şeması sık değişen esnek veriler için MongoDB uygundur. Redis ise önbellek ve kuyruk katmanı olarak kullanılır. En önemli kural, veritabanı ile uygulama sunucusunu aynı veri merkezinde tutarak sorgu gecikmesini en aza indirmektir.
Mevcut Node.js sitemi Alastyr’a taşıyabilir miyim?
Evet. Alastyr, mevcut projelerin taşınması için ücretsiz taşıma desteği sunar; uygulamanız, bağımlılıklarınız ve veritabanınız ekibimiz tarafından aktarılır. Ayrıca 14 gün içinde iade hakkınız bulunur, böylece hizmeti risksiz biçimde deneyebilirsiniz.
Node.js uygulamam çöktüğünde ne olur?
Süreç yöneticisi (Passenger veya PM2) çökmeyi algılar ve uygulamayı saniyeler içinde otomatik olarak yeniden başlatır. Ancak asıl çözüm nedeni bulmaktır: uygulama günlüklerini düzenli inceleyin, yakalanmamış istisnaları ele alın ve bellek kullanımını izleyin. Bir sağlık kontrolü (health check) uç noktası ekleyip dışarıdan yoklamak, sorunları kullanıcılardan önce fark etmenizi sağlar.
Node.js projenizi Türkiye’de, düşük gecikmeyle yayına alın
Güncel LTS sürüm seçici, entegre süreç yöneticisi, NVMe SSD depolama ve kendi İzmir veri merkezimizin N+1 yedekli altyapısı. %99,9 uptime taahhüdü, 7/24 destek, ücretsiz taşıma ve 14 gün iade güvencesiyle risksiz başlayın.





