📌 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
- Projeni sunucuna kopyala.
scp -r /path/to/local/project user@your-server-ip:/var/www/your-nextjs-app - 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! 😊