Ubuntu’da Nginx Kurulumu: Adım Adım Kapsamlı Rehber

Nginx, yüksek performanslı, düşük kaynak kullanımıyla bilinen, açık kaynaklı bir web sunucusudur. Nginx, web sunucusu, ters proxy sunucusu, posta sunucusu ve yük dengeleyici olarak kullanılabilir. Bu kılavuzda, Ubuntu işletim sisteminde Nginx’in nasıl kurulacağını ve yapılandırılacağını detaylı bir şekilde anlatacağız.

Ön Gereksinimler

  • Ubuntu 20.04 veya daha yeni bir sürüm
  • Root veya sudo yetkilerine sahip bir kullanıcı

Adım 1: Paket Listelerini Güncelleme

İlk olarak, sunucunuzdaki paket listelerini güncellemelisiniz. Bu, mevcut yazılım paketlerinin en güncel versiyonlarına sahip olmanızı sağlar. Terminali açın ve aşağıdaki komutu çalıştırın:

sudo apt update

Adım 2: Nginx Kurulumu

Nginx’i kurmak için apt paket yöneticisini kullanacağız. Aşağıdaki komutu terminalde çalıştırarak Nginx’i kurabilirsiniz:

sudo apt install nginx

Bu komut, Nginx’in en son sürümünü indirip kuracaktır.

Adım 3: Nginx Hizmetini Başlatma ve Durum Kontrolü

Kurulum tamamlandıktan sonra, Nginx hizmetini başlatmanız gerekecek. Ayrıca, hizmetin çalışıp çalışmadığını kontrol edebilirsiniz:

Nginx hizmetini başlatmak için:

sudo systemctl start nginx

Nginx hizmetinin durumunu kontrol etmek için:

sudo systemctl status nginx

Bu komut, Nginx hizmetinin durumu hakkında bilgi verecektir. Eğer hizmet çalışıyorsa, “active (running)” ifadesini görmelisiniz.

Adım 4: Nginx Hizmetini Otomatik Başlatma

Nginx’in sistem yeniden başlatıldığında otomatik olarak başlamasını sağlamak için aşağıdaki komutu kullanabilirsiniz:

sudo systemctl enable nginx

Adım 5: Güvenlik Duvarı Ayarları

Eğer sunucunuzda bir güvenlik duvarı (UFW) kullanıyorsanız, Nginx’in çalışması için gerekli portları açmanız gerekecek. Nginx, varsayılan olarak HTTP için 80 numaralı portu ve HTTPS için 443 numaralı portu kullanır.

HTTP trafiğine izin vermek için:

sudo ufw allow 'Nginx HTTP'

HTTPS trafiğine izin vermek için (isteğe bağlı):

sudo ufw allow 'Nginx HTTPS'

Güvenlik duvarının durumunu kontrol etmek için:

sudo ufw status

Adım 6: Nginx’i Test Etme

Nginx’in doğru şekilde çalıştığını doğrulamak için web tarayıcınızı açın ve sunucunuzun IP adresini veya alan adını girin. Örneğin:

http://your_server_ip

Eğer her şey doğru şekilde kurulmuşsa, “Welcome to nginx!” başlıklı varsayılan Nginx hoş geldiniz sayfasını görmelisiniz.

Adım 7: Nginx Konfigürasyon Dosyaları

Nginx’in ana konfigürasyon dosyası /etc/nginx/nginx.conf dosyasıdır. Ek olarak, sanal host dosyaları /etc/nginx/sites-available/ ve /etc/nginx/sites-enabled/ dizinlerinde bulunur. Yeni bir site yapılandırması eklemek için, sites-available dizininde bir konfigürasyon dosyası oluşturmalı ve sonra bu dosyayı sites-enabled dizinine sembolik link ile bağlamalısınız.

Örneğin, example.com adlı bir site yapılandırması eklemek için:

sudo nano /etc/nginx/sites-available/example.com

Aşağıdaki basit konfigürasyon örneğini dosyaya ekleyin:

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

    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Dosyayı kaydedip kapatın. Daha sonra bu dosyayı sites-enabled dizinine sembolik link ile bağlayın:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Adım 8: Nginx Yapılandırmasını Test Etme

Nginx yapılandırma dosyalarında yaptığınız değişikliklerin doğruluğunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

sudo nginx -t

Eğer yapılandırma dosyaları doğruysa, “syntax is ok” ve “test is successful” mesajlarını görmelisiniz.

Adım 9: Nginx Hizmetini Yeniden Başlatma

Yapılandırma dosyalarında değişiklik yaptıktan sonra Nginx hizmetini yeniden başlatmanız gerekecek:

sudo systemctl restart nginx

Adım 10: Ek Güvenlik Ayarları

Nginx sunucunuzu daha güvenli hale getirmek için bazı ek güvenlik ayarları yapabilirsiniz:

  • Güvenli HTTPS Bağlantıları: Let’s Encrypt gibi ücretsiz SSL sertifikaları kullanarak HTTPS bağlantılarını etkinleştirebilirsiniz.
  • Güvenlik Başlıkları: X-Frame-Options, X-Content-Type-Options ve Content-Security-Policy gibi HTTP başlıkları ekleyerek güvenliği artırabilirsiniz.

Yorum yapın