Next.js Projesi Yayınlama: 2026 İçin VDS Üzerinde Kanıtlanmış 7 Kritik Adım
- Next.js Projesi Yayınlama: 2026 İçin VDS Üzerinde Kanıtlanmış 7 Kritik Adım
- Next.js Projesini VDS’te Yayınlamak İçin Gereksinimler Neler?
- Neden Paylaşımlı Hosting Değil de VDS?
- Hangi Node.js Sürümü Kullanılmalı?
- Sunucu Hazırlığı: Node.js ve PM2 Kurulumu
- PM2 Kurulumu ve Yapılandırması
- PM2 vs Systemd: Hangisi Daha İyi?
- Next.js Build Alma ve Çalıştırma
- Projeyi Sunucuya Klonlama ve Bağımlılıkları Kurma
- Build Alma ve PM2 ile Başlatma
- Statik Export Alternatifi
- Nginx Reverse Proxy ve SSL Yapılandırması
Next.js projesi yayınlama denildiğinde çoğu geliştiricinin aklına ilk olarak Vercel gelir. Ancak VDS üzerinde yayınlamak; bütçe kontrolü, veri gizliliği ve tam sunucu hakimiyeti açısından ciddi avantajlar sağlar.
İşin sırrı, doğru yapılandırılmış bir Node.js ortamı ve reverse proxy ayarlarında yatar. Uygulamanızı VDS üzerinde canlıya almak için sunucu seçimi, PM2, Nginx ve SSL adımlarını eksiksiz uygulamanız gerekir.
Bu rehberde süreci sıfırdan anlatıyorum: Node.js 20 LTS kurulumundan güvenlik duvarına, build alma komutlarından yaygın hata çözümlerine kadar. Doğru adımları izlediğinizde SSR veya ISR kullanan bir Next.js uygulamasını kısa sürede VDS üzerinde yayınlayabilirsiniz. Statik export senaryosunda ise farklı bir yol var: Nginx’e bile ihtiyaç duymadan dosyaları paylaşımlı bir hosting hesabına yükleyebilirsiniz.
📋 Önemli Noktalar
- Next.js projesi yayınlama sürecinde Node.js 20 LTS veya 22 LTS kullanılmalı; tek sayılı sürümler üretim için uygun değildir.
- PM2, uygulamanın arka planda çalışmasını ve sunucu yeniden başladığında otomatik ayağa kalkmasını sağlar.
- Nginx reverse proxy, 3000 portunu 80/443’e yönlendirir; SSL, gzip ve güvenlik başlıkları ekler.
.env.localdosyası API anahtarlarını güvenle yönetmek için kullanılır ve asla Git deposuna eklenmemelidir.- Statik export kullanıyorsanız
output: 'export'ayarıyla oluşan dosyaları paylaşımlı hosting üzerinde çalıştırabilirsiniz.
Next.js Projesini VDS’te Yayınlamak İçin Gereksinimler Neler?
Next.js projesi yayınlama sürecine başlamadan önce doğru altyapıyı hazırlamak kritik önem taşır. VDS, yani Virtual Dedicated Server, paylaşımlı hosting’den farklı olarak size root yetkisi ve tam kontrol sağlar. Bu da Node.js tabanlı uygulamalar için önemli bir gereksinimdir.
Temel donanım ihtiyacı ise şöyledir: en az 2 GB RAM (4 GB önerilir), 2 vCPU ve 20 GB NVMe SSD disk. Next.js’in build süreci, özellikle büyük projelerde 1.5 GB üzeri RAM tüketebilir.

Düşük RAM’li bir VDS’te next build komutu sırasında “heap out of memory” hatası almanız mümkündür. Bu yüzden en baştan doğru kaynakları seçmek gerekir.
Neden Paylaşımlı Hosting Değil de VDS?
Paylaşımlı hosting ortamları genellikle PHP tabanlı uygulamalar için optimize edilmiştir. Node.js çalıştırmak için özel yapılandırmalar gerekir ve çoğu sağlayıcı buna izin vermez.
VDS ise size kök erişimi verir. İstediğiniz Node.js sürümünü kurabilir, PM2 gibi süreç yöneticilerini özgürce yapılandırabilirsiniz. Ayrıca NVMe SSD disklerin hız avantajı, Next.js’in build süresini belirgin biçimde kısaltır.
Hangi Node.js Sürümü Kullanılmalı?
2026 itibarıyla Node.js 20 LTS veya 22 LTS sürümleri en stabil seçeneklerdir. Next.js 14 ve 15 sürümleri, Node.js 18.17 ve üzerini destekler. Ancak güvenlik yamaları ve performans iyileştirmeleri için her zaman çift sayılı LTS sürümü tercih edin.
Aşağıdaki tablo, Next.js sürümü ile önerilen Node.js sürümünü karşılaştırmaktadır:
| Next.js Sürümü | Minimum Node.js | Önerilen Node.js | React Sürümü |
|---|---|---|---|
| Next.js 15 | 18.18 | 20 LTS / 22 LTS | React 19 |
| Next.js 14 | 18.17 | 20 LTS | React 18 |
| Next.js 13 | 16.14 | 18 LTS | React 18 |
Sunucu Hazırlığı: Node.js ve PM2 Kurulumu
Sunucuya ilk bağlandığınızda yapmanız gereken ilk iş, sistem paketlerini güncellemek ve Node.js’i kurmaktır. Next.js projesi yayınlama sürecinin temeli, doğru kurulmuş bir Node.js ortamıdır.
Node.js’i doğrudan NodeSource deposundan kurmak en güvenilir yöntemdir. Aşağıdaki komutları sırasıyla çalıştırın:
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs git build-essential
node -v
npm -v
Bu komutlar, Node.js 20 LTS sürümünü ve gerekli derleme araçlarını kurar. build-essential paketi, bazı npm paketlerinin native modüllerini derlemek için gereklidir.
PM2 Kurulumu ve Yapılandırması
PM2, Node.js uygulamalarını arka planda çalıştıran, izleyen ve otomatik yeniden başlatan bir süreç yöneticisidir. Next.js uygulamanızı canlı tutmanın en pratik yoludur.
sudo npm install -g pm2
pm2 startup systemd
pm2 --version
pm2 startup systemd komutu, sunucu yeniden başlatıldığında PM2’nin otomatik olarak başlamasını sağlar. Bu, yüksek uptime hedefleyen bir yapı için kritik bir adımdır.
Dikkat edin: PM2’yi çalıştırırken root kullanıcısı yerine ayrı bir kullanıcı oluşturmak güvenlik açısından daha doğrudur. Aşağıdaki komutla yeni bir kullanıcı oluşturabilirsiniz:
sudo adduser nextjs
sudo usermod -aG sudo nextjs
su - nextjs
PM2 vs Systemd: Hangisi Daha İyi?
PM2, Node.js ekosisteminde fiili standart haline gelmiştir. Bazı sistem yöneticileri ise systemd servislerini tercih eder. PM2; log yönetimi, cluster modu ve kolay izleme sunar. Systemd ise işletim sistemi düzeyinde daha sıkı entegrasyon sağlar.
Pratikte Next.js projeleri için PM2’nin kullanım kolaylığı ve zengin özellikleri ağır basar. Ayrıca pm2 monit komutu ile canlı CPU ve bellek kullanımını görebilirsiniz.
Next.js Build Alma ve Çalıştırma
Next.js projesi yayınlama sürecinin kalbi, doğru bir build almak ve uygulamayı üretim modunda çalıştırmaktır. Geliştirme modu (next dev) asla canlı ortamda kullanılmamalıdır; çünkü yavaştır ve güvenlik riskleri barındırır.
Projenizi sunucuya aktarmak için Git kullanmanızı öneririm. Böylece hem sürüm takibi yaparsınız hem de güncelleme süreci kolaylaşır.
Projeyi Sunucuya Klonlama ve Bağımlılıkları Kurma
cd /var/www
sudo mkdir nextjs-app && cd nextjs-app
sudo chown -R $USER:$USER .
git clone https://github.com/kullanici/nextjs-projesi.git .
npm install
Next.js build alırken devDependencies altındaki paketlere ihtiyaç duyar. Bu yüzden yalnızca production bağımlılıklarını kuran komutlardan kaçının; varsayılan npm install tüm gerekli paketleri kurar.
Build Alma ve PM2 ile Başlatma
npm run build
pm2 start npm --name "nextjs-app" -- start
pm2 save
pm2 status
pm2 start npm -- start komutu, npm’i PM2 üzerinden çalıştırır ve npm start betiğini tetikler. --name parametresi, PM2 listesinde uygulamanıza kolayca ulaşmanızı sağlar.
pm2 logs nextjs-app
pm2 restart nextjs-app
pm2 stop nextjs-app
pm2 delete nextjs-app
Bu komutlar, uygulamanızı yönetmek için günlük olarak kullanacağınız komutlardır. Logları takip etmek, hata ayıklamanın en hızlı yoludur.
Statik Export Alternatifi
Eğer projeniz tamamen statik sayfalardan oluşuyorsa (SSG), next.config.js dosyasına aşağıdaki ayarı ekleyerek statik export alabilirsiniz:
// next.config.js
module.exports = {
output: 'export',
}
Bu durumda next build komutu, out/ klasörüne statik HTML dosyaları üretir. Bu dosyaları herhangi bir web sunucusuna (Nginx, Apache) yükleyebilirsiniz. Hatta linux hosting paketlerinde bile bu yöntemle Next.js çalıştırabilirsiniz.
Ancak SSR, ISR veya API routes kullanıyorsanız mutlaka bir Node.js sunucusuna ihtiyacınız vardır. Bu durumda PM2 ile yayınlamak en doğru yoldur.
Nginx Reverse Proxy ve SSL Yapılandırması
Next.js uygulamanız artık 3000 portunda çalışıyor. Ancak kullanıcıların https://siteniz.com üzerinden erişebilmesi için Nginx reverse proxy kurmanız gerekir. Bu, Next.js projesi yayınlama sürecinin en kritik adımlarından biridir.
Nginx, gelen HTTP/HTTPS isteklerini alır ve 3000 portundaki Node.js uygulamasına yönlendirir. Ayrıca SSL sertifikası, gzip sıkıştırma ve güvenlik başlıkları gibi katmanlar ekler.




