Linux sunucuya web sitesi (Nginx) nasıl kurulur?
Nginx, dünyada en çok kullanılan web sunucularından biridir; hafiftir, hızlıdır ve statik siteler, PHP uygulamaları ve ters proxy olarak kullanılabilir. Aşağıdaki adımlar Ubuntu 24.04 ve Debian 12 içindir; sonunda alan adınızla açılan basit bir siteniz olur.
1. Kurulum
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
Kurulum bitince sunucunun IP adresini tarayıcıda açın; "Welcome to nginx!" sayfasını görmelisiniz. Görmüyorsanız güvenlik duvarında 80 numaralı port kapalı olabilir: sudo ufw allow 'Nginx Full' (80 ve 443'ü açar). Panelin güvenlik duvarı aracında özel kural varsa orada da izin verin: UFW rehberi.
2. Site klasörü ve ilk sayfa
sudo mkdir -p /var/www/ornek.com/public
echo "<h1>Merhaba</h1>" | sudo tee /var/www/ornek.com/public/index.html
sudo chown -R www-data:www-data /var/www/ornek.com
Sahiplik ve izinler önemlidir; sorun yaşarsanız: dosya izinleri.
3. Server block (site ayarı)
/etc/nginx/sites-available/ornek.com dosyasını oluşturun:
server {
listen 80;
server_name ornek.com www.ornek.com;
root /var/www/ornek.com/public;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Etkinleştirmek için bağlantı verin, ayarı sınayın ve yeniden yükleyin:
sudo ln -s /etc/nginx/sites-available/ornek.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
nginx -t hata verirse yeniden yüklemeyin; mesaj dosya ve satır numarasını söyler. Birden fazla site eklemek için aynı yöntemi tekrarlayın: birden fazla site.
4. Alan adını yönlendirin
Alan adınızın A kaydını sunucunun IP adresine yönlendirin: alan adı yönlendirme. DNS yayılınca ornek.com adresi sayfanızı gösterir: DNS yayılma süresi.
5. https
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d ornek.com -d www.ornek.com
Certbot sertifikayı alır, Nginx ayarına ekler ve yönlendirme seçeneği sunar: ücretsiz SSL. Sorun çıkarsa: Certbot hataları.
6. PHP ya da uygulama eklemek
- PHP siteleri için PHP-FPM ve Nginx bağlantısı: WordPress ve PHP (LEMP).
- Node.js ya da Python uygulaması için ters proxy: Nginx ters proxy.
Sık sorunlar
- Sayfa açılmıyor: Güvenlik duvarı, DNS ya da
server_nameyanlış: sitem açılmıyor. - 403 Forbidden: 403 nedenleri.
- Nginx başlamıyor (port kullanımda): address already in use.
- Günlükler:
/var/log/nginx/error.logveaccess.log: günlük okuma.
Kendi sunucusunu yönetmek istemeyenler için web hosting hazır panelli bir seçenektir. Sunucu: Linux VDS.
Sık sorulanlar
Nginx mi Apache mi?
İkisi de iş görür. Nginx daha az bellek kullanır ve ters proxy olarak çok başarılıdır. Apache'ye özel .htaccess kurallarına bağımlı bir yazılımınız varsa Apache gerekebilir.
Ayarı değiştirince siteyi kapatır mıyım?
reload çalışan bağlantıları kesmeden yeni ayarı uygular; restart süreci yeniden başlatır. Her zaman önce nginx -t ile sınayıp reload kullanın.
Varsayılan Nginx sayfasını kaldırmalı mıyım?
Kendi sitenizi yayınladıktan sonra sudo rm /etc/nginx/sites-enabled/default ile kaldırın; böylece IP adresiyle girenler karşılama sayfasını görmez.
İlgili makaleler
- Nginx ile tek sunucuda birden fazla web sitesi (server block)
- Siteme ücretsiz SSL (https) nasıl eklerim?
- WordPress'i VDS'e kurma: Nginx, PHP ve MariaDB (LEMP) adım adım
Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.
Geri bildiriminiz için teşekkürler!