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.