📌 Next.js ve Nginx Yapılandırma Rehberi

Bu rehberde, sunucunda Next.js projesini çalıştırıp, Nginx üzerinden domaine yönlendirmeyi öğreneceksin. Ayrıca Next.js sunucusunu arka planda çalıştırmayı da göstereceğim.
🔍 Gereksinimler
  • Linux sunucu (Ubuntu veya Debian önerilir).
  • Node.js ve NPM yüklü olmalı.
  • Nginx yüklü olmalı.
  • WordPress zaten 80 portunda çalışıyor olmalı.
📂 1. Next.js Projesini Sunucuya Yükle
  1. Projeni sunucuna kopyala.
    scp -r /path/to/local/project user@your-server-ip:/var/www/your-nextjs-app
  2. Sunucuda projenin bulunduğu dizine geç:
    cd /var/www/your-nextjs-app
📦 2. Next.js Kurulumu

Proje Bağımlılıklarını Yükle


npm install

Projeyi Build Et


npm run build

Sunucuyu Başlat


npm start
  • Bu komut, Next.js sunucusunu genellikle localhost:3000 adresinde çalıştırır.
🔒 3. Next.js Sunucusunu Arka Planda Çalıştırma (PM2 ile)

Sunucunun her zaman açık kalmasını istiyorsan pm2 kullanmalısın.

PM2 Kurulumu


npm install -g pm2

Projeyi Başlatma


pm2 start npm --name "NextApp" -- start

PM2 Başlangıçta Otomatik Çalıştırma


pm2 startup
pm2 save
🌐 4. Nginx Yapılandırması

Nginx Ayar Dosyası Oluştur


sudo nano /etc/nginx/sites-available/nextjs.conf

İçerik (Domaine Yönlendirme)


server {
listen 80;
server_name senin-domainin.com;

location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Ayarı Etkinleştir


sudo ln -s /etc/nginx/sites-available/nextjs.conf /etc/nginx/sites-enabled/

Nginx Ayarlarını Test Et ve Yeniden Başlat


sudo nginx -t
sudo systemctl restart nginx
🔑 5. Çevresel Değişkenler (ENV Dosyası Ayarları)

Projenin ana klasöründe .env dosyası oluştur:
API_URL=https://senin-domainin.com/api
NEXT_PUBLIC_API_URL=https://senin-domainin.com/api
  • Eğer Strapi ya da başka bir backend kullanıyorsan, URL'leri doğru ayarladığından emin ol.
✅ 6. Kurulumun Doğruluğunu Test Et
🔄 7. Gerekli Komutlar
  • PM2 Loglarını Görüntüle:pm2 logs
  • PM2 Süreçleri Görüntüle:pm2 list
  • PM2 Sunucuyu Durdur:pm2 stop NextApp
  • PM2 Sunucuyu Yeniden Başlat:pm2 restart NextApp
Şimdi bu adımları sunucunda uygula. Bir problemle karşılaşırsan, bana bildir! 😊