Ana içeriğe geç

Nginx Kurulumu ve Yapılandırması (Ubuntu)

Bu rehberde ne öğreneceksiniz?

Bu rehber, Ubuntu üzerinde Nginx web sunucusunun kurulumunu ve temel yapılandırmasını anlatır.
Firewall ayarlarını yapmayı, Nginx servislerini yönetmeyi ve birden fazla site barındırmayı öğreneceksiniz.
Son bölümde önemli dosya yapıları ve yaygın hatalar ele alınır.


Teknik Özet

Ana konu: Ubuntu üzerinde Nginx kurulumu ve yapılandırması
Amaç: Web sunucusunu güvenli ve çalışır hale getirmek
Kazanım: Temel Nginx yönetimi ve çoklu site barındırma

İzlenen adımlar:

  1. Nginx kurulumu
  2. Firewall ayarlarının yapılması
  3. Servis durumunun kontrolü
  4. Nginx yönetim komutları
  5. Server block yapılandırması

1. Nginx Kurulumu

Nginx, Ubuntu’nun resmi paket depolarında bulunur.
Kurulum için önce paket listesini güncelleyin.

sudo apt update
sudo apt install nginx
  • Bu komutlar, Nginx ve gerekli bağımlılıkları sisteme kurar.

2. Firewall Ayarlarını Yapılandırma

  1. Nginx kurulduğunda UFW profilleri otomatik eklenir. Önce mevcut profilleri listeleyin.

sudo ufw app list
  • Bu komut, Nginx için tanımlı firewall profillerini gösterir.

  • Sadece HTTP trafiğine izin verin.

sudo ufw allow 'Nginx HTTP'
  • Bu komut, 80 numaralı portu açar.

Durumu kontrol edin.


sudo ufw status
  • Bu çıktı, izin verilen servisleri listeler.

3. Nginx Servisini Kontrol Etme

  1. Kurulumdan sonra Nginx otomatik başlar.
  2. Servis durumunu kontrol edin.

systemctl status nginx
  • Bu komut, Nginx servisinin aktif olup olmadığını gösterir.

Sunucu IP adresinizi öğrenmek için:


curl -4 icanhazip.com
  • Bu komut, genel IP adresinizi döndürür.
  1. Tarayıcıda şu adresi açın:

http://sunucu_ip_adresi
  • Varsayılan Nginx karşılama sayfasını görüyorsanız kurulum başarılıdır.

4. Nginx Servisini Yönetme

  1. Nginx servis yönetimi systemd üzerinden yapılır.

  2. Servisi durdurmak için:


sudo systemctl stop nginx

  1. Servisi başlatmak için:

sudo systemctl start nginx

  1. Servisi yeniden başlatmak için:

sudo systemctl restart nginx

  1. Yapılandırma değişikliklerinde bağlantıları kesmeden yenilemek için:

sudo systemctl reload nginx

  1. Sistem açılışında otomatik başlamasını kapatmak için:

sudo systemctl disable nginx

  1. Tekrar etkinleştirmek için:

sudo systemctl enable nginx

5. Server Block (Site) Yapılandırması

  • Server block, tek sunucuda birden fazla site barındırmayı sağlar.
  1. Dizin yapısını oluşturma

sudo mkdir -p /var/www/ornekalan/html

-Bu komut, site kök dizinini oluşturur.


  1. Sahipliği ayarlayın.

sudo chown -R $USER:$USER /var/www/ornekalan
sudo chmod -R 755 /var/www/ornekalan
  • Bu komutlar, doğru izinleri tanımlar.

  1. Örnek index dosyası oluşturma

nano /var/www/ornekalan/html/index.html

  • Dosya içeriği:

<html>
<head>
<title>ornekalan çalışıyor</title>
</head>
<body>
<h1>Server block başarıyla yapılandırıldı</h1>
</body>
</html>
  • Bu dosya, sitenin test sayfasıdır.

  1. Nginx server block tanımı

sudo nano /etc/nginx/sites-available/ornekalan

server {
listen 80;
server_name ornekalan.com www.ornekalan.com;

root /var/www/ornekalan/html;
index index.html index.htm;

location / {
try_files $uri $uri/ =404;
}
}
  • Bu yapılandırma, alan adına özel site tanımlar.

  • Aktif hale getirin.

sudo ln -s /etc/nginx/sites-available/ornekalan /etc/nginx/sites-enabled/
  • Bu komut, siteyi etkinleştirir.

  • Yapılandırmayı test edin.

sudo nginx -t
sudo systemctl restart nginx
  • Bu komutlar, hataları kontrol eder ve Nginx’i yeniden başlatır.

Önemli Nginx Dizinleri

  1. /var/www/html : Varsayılan web içerikleri

  2. /etc/nginx/nginx.conf : Ana yapılandırma dosyası

  3. /etc/nginx/sites-available : Site tanımları

  4. /etc/nginx/sites-enabled : Aktif siteler

  5. /var/log/nginx/access.log : Erişim kayıtları

  6. /var/log/nginx/error.log : Hata kayıtları


Sıkça Sorulan Sorular

  1. Nginx ne için kullanılır? Statik içerik sunar, reverse proxy ve yük dengeleme yapar.

  2. Nginx çalışıyor mu nasıl anlarım? systemctl status nginx komutu ile kontrol edilir.

  3. 403 Forbidden hatası neden olur? Dosya veya dizin izinleri hatalı olabilir.

  4. 502 Bad Gateway hatası ne anlama gelir? Arka uç uygulama yanıt vermiyordur.


Sonuç

Ubuntu üzerinde Nginx kurulumu hızlı ve pratiktir. Server block yapısı sayesinde birden fazla site yönetilebilir. Doğru yapılandırma ile güvenli ve ölçeklenebilir bir altyapı kurulur.

Bu yapıyı Rabisu Bulut altyapısında dakikalar içinde hayata geçirebilirsiniz.