Ubuntu Üzerine Nginx Kurulumu (2025)
Yeni bir sunucu kuruyor veya web projeni yayınlamaya hazırlanıyorsan, Nginx + Ubuntu en stabil ve hızlı çözümlerden biridir.
1. Sistem Güncellemeleri
════════════════════════════════════════İlk adım olarak sunucuyu güncellemek önemlidir:
Bash:
sudo apt update && sudo apt upgrade -y
════════════════════════════════════════
2. Nginx Web Sunucusunu Kurma
════════════════════════════════════════Nginx’i kurmak oldukça basittir:
Bash:
sudo apt install nginx -y
Kurulum tamamlandıktan sonra durumu kontrol edebilirsin:
Bash:
systemctl status nginx
Eğer aktifse şöyle görünür: **active (running)**
════════════════════════════════════════
3. Nginx Servisini Başlatma ve Otomatik Başlatma
════════════════════════════════════════
Bash:
sudo systemctl enable nginx
sudo systemctl start nginx
════════════════════════════════════════
4. Firewall (UFW) Ayarları
════════════════════════════════════════Nginx’i dış dünyaya açmak için HTTP/HTTPS portlarını izinli hâle getirin:
Bash:
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
Firewall durumu:
Bash:
sudo ufw status
════════════════════════════════════════
5. Nginx Dizin Yapısı
════════════════════════════════════════-
**/var/www/** → Web sitelerinin bulunduğu ana dizin -
**/etc/nginx/nginx.conf** → Ana Nginx yapılandırması -
**/etc/nginx/sites-available/** → Site konfigürasyonları -
**/etc/nginx/sites-enabled/** → Aktif siteler -
**/var/log/nginx/** → Erişim ve hata logları
════════════════════════════════════════
6. Örnek Nginx Site Yapılandırması
════════════════════════════════════════Bir domain eklemek için örnek config:
Bash:
sudo nano /etc/nginx/sites-available/ornek.com
İçerisine şunu ekle:
Kod:
server {
listen 80;
server_name ornek.com www.ornek.com;
root /var/www/ornek.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
Siteyi aktif hale getir:
Bash:
sudo ln -s /etc/nginx/sites-available/ornek.com /etc/nginx/sites-enabled/
Nginx’i kontrol edip yeniden başlat:
Bash:
sudo nginx -t
sudo systemctl restart nginx
════════════════════════════════════════
7. Let's Encrypt SSL Kurulumu (HTTPS için)
════════════════════════════════════════Certbot’u yükle:
Bash:
sudo apt install certbot python3-certbot-nginx -y
SSL almak:
Bash:
sudo certbot --nginx -d ornek.com -d www.ornek.com
Sertifikaları test etmek için:
Bash:
sudo certbot renew --dry-run
════════════════════════════════════════
8. Nginx Servisini Yönetme Komutları
════════════════════════════════════════
Bash:
sudo systemctl start nginx # Başlat
sudo systemctl stop nginx # Durdur
sudo systemctl restart nginx # Yeniden başlat
sudo systemctl reload nginx # Yapılandırmayı yenile (downtime olmadan)
sudo systemctl status nginx # Durum görüntüle
════════════════════════════════════════
Sonuç
✔ Ubuntu + Nginx ikilisi, en hızlı ve en stabil web sunucu çözümlerindendir.
✔ Basit kurulum, esnek yapılandırma ve düşük kaynak tüketimi ile öne çıkar.
✔ SSL, firewall ve site yapılandırması ile profesyonel bir hosting ortamı oluşturabilirsiniz.
Sorun olursa konu altına yaz, yardımcı olurum! 





