1. Adım: Nginx’in Kurulumu
Linux üzerinde Nginx’i kurmak aslında oldukça basit. Çoğu Linux dağıtımında, Nginx bir paket yöneticisi aracılığıyla kolayca kurulabilir. İşte bunun için gerekli komutlar:
Debian/Ubuntu tabanlı sistemlerde:
sudo apt update
sudo apt install nginx
RedHat/CentOS tabanlı sistemlerde:
sudo yum install nginx
Kurulum tamamlandığında, Nginx’in servisinin otomatik olarak başlamadığını görebilirsiniz. Endişelenmeyin, Nginx’i başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start nginx
Nginx’in düzgün çalıştığından emin olmak için, tarayıcınızda sunucu IP adresinizi girerek, Nginx’in varsayılan hoş geldiniz sayfasını görebilirsiniz. Eğer her şey yolundaysa, işte bu kadar basit!
2. Adım: Nginx’in Servis Olarak Başlatılması
Sunucunun her açılışında Nginx’in otomatik olarak başlatılmasını sağlamak için aşağıdaki komutu kullanabilirsiniz:
sudo systemctl enable nginx
Bu, Nginx’in sistem her açıldığında otomatik olarak başlamasını sağlayacaktır. Yani, sistem yeniden başlatıldığında her şey otomatik olarak çalışacaktır.
3. Adım: Nginx Yapılandırma Dosyasını Düzenleme
Nginx’i kurduktan sonra, yapılandırma dosyasını düzenlemek ve özelleştirmek için doğru yerdesiniz. Nginx’in ana yapılandırma dosyası genellikle "/etc/nginx/nginx.conf" dosyasındadır. Bu dosyayı düzenleyerek sunucunuzun çeşitli ayarlarını değiştirebilirsiniz.
Dosyayı açmak için şu komutu kullanabilirsiniz:
sudo nano /etc/nginx/nginx.conf
Burada yapabileceğiniz bazı temel değişiklikler:
1. Sunucu bloğu (server block) eklemek:
Nginx, birden fazla web sitesini aynı sunucu üzerinde çalıştırabilir. Her bir siteye özel yapılandırmalar için sunucu blokları oluşturabilirsiniz. İşte basit bir sunucu bloğu örneği:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html/example;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Bu yapılandırmada, "example.com" ve "www.example.com" domainlerine gelen istekler "/var/www/html/example" dizinine yönlendirilir.
2. Error log ve access log ayarları:
Sunucu hatalarını ve erişim günlüklerini izlemek oldukça önemlidir. Bu loglar genellikle "/var/log/nginx/error.log" ve "/var/log/nginx/access.log" dosyalarında bulunur. Bu dosyaların doğru yapılandırıldığından emin olun.
4. Adım: Nginx ile Güvenliği Artırma
Bir web sunucusunun güvenliği her zaman önemli olmuştur. Nginx, bir dizi güvenlik önlemi ile sunucularınızı daha güvenli hale getirebilir.
SSL/TLS Şifrelemesi: Web sitenizi SSL/TLS ile güvence altına almak, kullanıcılarınızın bilgilerini korumanın en iyi yollarından biridir. Bunun için Let's Encrypt gibi ücretsiz bir sertifika sağlayıcısından yararlanabilirsiniz.
Örnek SSL Yapılandırması:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
root /var/www/html;
index index.html;
}
}
Bunun yanında, Nginx’in çeşitli güvenlik başlıklarını da etkinleştirmeniz gerekecek. "Strict-Transport-Security" gibi başlıklar, HTTPS protokolünü zorunlu hale getirebilir.
5. Adım: Nginx’i Yeniden Başlatma ve Yapılandırmaları Test Etme
Yapılandırma dosyanızda değişiklik yaptıktan sonra, bu değişikliklerin geçerli olması için Nginx’i yeniden başlatmanız gerekecek. Bunu yapmak için şu komutu kullanabilirsiniz:
sudo systemctl restart nginx
Ayrıca, yapılandırma dosyanızdaki herhangi bir hata olup olmadığını test etmek için şu komutu kullanabilirsiniz:
sudo nginx -t
Eğer herhangi bir hata yoksa, değişiklikleriniz başarıyla uygulanacaktır.
Sonuç: Nginx İle Güçlü ve Hızlı Web Sunucusu
Artık Linux sunucunuza Nginx’i başarıyla kurdunuz ve yapılandırdınız! Nginx’in sunduğu hız, güvenlik ve ölçeklenebilirlik sayesinde web siteniz çok daha güçlü ve verimli hale geldi. Bu yazıda verdiğim adımlarla, web sunucunuzun temel yapılandırmalarını yaparak, güvenli ve yüksek performanslı bir web deneyimi sunabilirsiniz.
Unutmayın, Nginx’i verimli kullanmak için sürekli olarak yapılandırmalarınızı gözden geçirmeli ve ihtiyaçlarınıza göre optimize etmelisiniz. Nginx, her geçen gün daha fazla web geliştiricisi tarafından tercih edilen bir araç haline geliyor ve sizin de bu dünyaya adım atmanız sadece bir başlangıç!