Hosting Seçenekleri
Next.js uygulamanızı çalıştırmak için birkaç farklı yol var. Hangisini seçeceğiniz bütçenize, teknik bilginize ve ihtiyaçlarınıza bağlı.
Seçenek 1: Vercel (En Kolay)
Vercel, Next.js'in yaratıcıları tarafından geliştirilen bir platformdur. Sıfır konfigürasyonla çalışır.
Avantajları:
- ✅ Ücretsiz plan (hobi projeleri için yeterli)
- ✅ GitHub'a push yapınca otomatik deploy
- ✅ Global CDN (dünya genelinde hızlı erişim)
- ✅ SSL sertifikası otomatik ve ücretsiz
- ✅ Sunucu yönetimi gerektirmez
Dezavantajları:
- ❌ Ticari kullanımda ücretli ($20/ay'dan başlar)
- ❌ Sunucu üzerinde tam kontrolünüz yok
Kurulum:
- vercel.com adresine gidin
- "Continue with GitHub" ile giriş yapın
- Repository'nizi seçin ve Deploy!
Seçenek 2: Netlify (Vercel Alternatifi)
Netlify de Vercel'e çok benzer bir platformdur.
Avantajları:
- ✅ Ücretsiz plan mevcut
- ✅ Form işleme, identity gibi ek özellikler
- ✅ GitHub entegrasyonu
Kurulum:
- netlify.com adresine gidin
- GitHub ile bağlanın
- Build komutu:
npm run build - Publish directory:
.next
Seçenek 3: VPS + Docker (Tam Kontrol)
Kendi sunucunuzda Docker ile Next.js çalıştırabilirsiniz. Bu yöntem en fazla kontrolü sağlar.
Gereksinimler:
- VPS sunucu (DigitalOcean, Hetzner, Contabo vb.)
- Ubuntu 22.04 veya üzeri
- En az 1GB RAM, 1 vCPU
Adım 1: Sunucuya Bağlanın
ssh root@SUNUCU_IP_ADRESIAdım 2: Docker Kurulumu
# Docker'ı kurun
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# Docker Compose kurulumu
apt install docker-compose -yAdım 3: Dockerfile Oluşturun
Projenizin kök dizininde Dockerfile dosyası:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]Adım 4: docker-compose.yml
version: '3'
services:
nextjs:
build: .
ports:
- '3000:3000'
environment:
- WORDPRESS_API_URL=https://example.com/wp-json/wp/v2
restart: alwaysAdım 5: Çalıştırın
docker-compose up -d --buildSiteniz http://SUNUCU_IP:3000 adresinde yayında!
Adım 6: Nginx + SSL (Önerilen)
# Nginx kurulumu
apt install nginx -y
# Certbot (SSL) kurulumu
apt install certbot python3-certbot-nginx -yNginx config (/etc/nginx/sites-available/default):
server {
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}# SSL sertifikası alın
certbot --nginx -d example.comHangi Seçeneği Tercih Etmeliyim?
| Durum | Önerilen |
|---|---|
| Hızlıca başlamak istiyorum | Vercel |
| Ticari proje, bütçe var | Vercel Pro |
| Tam kontrol istiyorum | VPS + Docker |
| Bütçe çok kısıtlı | VPS ($5/ay) |