1. Nginx Nedir ve Neden Kullanmalıyım?
2. Nginx'i Linux'a Kurma
# Ubuntu ve Debian için:
sudo apt update
sudo apt install nginx
İlk komut sisteminizi güncelleyecek, ikinci komut ise Nginx’i kuracaktır.
# CentOS ve RHEL için:
sudo yum install epel-release
sudo yum install nginx
Bu komutlar, Nginx’in en son sürümünü sisteminize yükleyecektir.
3. Nginx’i Başlatma ve Durumunu Kontrol Etme
sudo systemctl start nginx
Nginx’in doğru çalışıp çalışmadığını kontrol etmek için:
sudo systemctl status nginx
Eğer her şey yolundaysa, tarayıcınızda sunucunuzun IP adresini yazdığınızda, Nginx’in hoş geldiniz sayfası görünmelidir.
4. Nginx’i Otomatik Başlatma İçin Yapılandırma
sudo systemctl enable nginx
Bu, Nginx’in sistem her açıldığında otomatik olarak başlatılmasını sağlayacaktır.
5. Nginx Yapılandırma Dosyasını Anlamak
Temel yapılandırma dosyasına göz attığınızda, ilk dikkat çeken şey `server` blokları olacaktır. Burada Nginx’in hangi portlarda dinleyeceğini, hangi dosya yollarını kullanacağını ve daha fazlasını belirleyebilirsiniz.
Örneğin, aşağıdaki gibi bir `server` bloğu, Nginx’i 80 numaralı portta dinleyecek şekilde yapılandırır:
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}
Yukarıdaki yapılandırmada:
- listen 80;: Sunucunun 80 numaralı portu dinlemesini sağlar.
- server_name example.com;: Bu sunucuya gelen taleplerin `example.com` için olduğunu belirtir.
- root /var/www/html;: Web dosyalarının bulunduğu klasör yolunu belirtir.
- index index.html;: Ana sayfa olarak `index.html` dosyasını kullanmasını sağlar.
Bu temel ayarlarla Nginx web sunucunuzun ilk adımlarını atmış oldunuz.
6. Güvenlik İçin Nginx Yapılandırması
Aşağıdaki kodu `nginx.conf` dosyanıza ekleyerek HTTP isteklerini HTTPS’ye yönlendirebilirsiniz:
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
Bu, HTTP isteklerini otomatik olarak güvenli HTTPS bağlantılarına yönlendirecektir.
Ayrıca, SSL/TLS sertifikaları kullanarak HTTPS desteği eklemelisiniz. Sertifika almak için Let's Encrypt gibi ücretsiz bir servisi kullanabilirsiniz.
7. Nginx’i Yeniden Başlatma
sudo systemctl restart nginx
Bu komut, yapılan tüm değişiklikleri uygulayacak ve sunucuyu yeniden başlatacaktır.
8. Nginx’i Daha İleri Düzey Yapılandırma
Örneğin, statik dosyaların önbelleğe alınması için şu ayarları yapabilirsiniz:
location /images/ {
root /var/www/html;
expires 30d;
}
Bu, `/images/` altındaki tüm dosyaların 30 gün süreyle tarayıcı tarafından önbelleğe alınmasını sağlar.
Sonuç: Başarıyla Kurulum ve Yapılandırma
Unutmayın, Nginx esneklik ve özelleştirme sunarak, büyüyen web projeleriniz için mükemmel bir çözüm olacaktır. Nginx hakkında daha fazla öğrenmek ve daha ileri düzey yapılandırmalar yapmak için dökümantasyonları ve topluluk forumlarını keşfetmeye devam edebilirsiniz.