Bugün, internet dünyasının belki de en popüler web sunucularından biri olan Nginx'i ele alacağız. Nginx, hızlı, güvenli ve verimli bir web sunucusu olarak, özellikle yüksek trafikli sitelerde sıklıkla tercih edilir. Gelin, Nginx'i nasıl kuracağımızı ve doğru şekilde nasıl yapılandıracağımızı adım adım inceleyelim!
1. Nginx Kurulumu
Başlamadan önce, Nginx'in ne kadar kolay kurulacağını size söyleyebilirim. Eğer bir Linux işletim sistemi kullanıyorsanız, işlem gerçekten çok basit. İlk adım, terminalinizi açmak ve gerekli paketleri yüklemektir. Eğer Ubuntu kullanıyorsanız, terminalde şu komutları sırasıyla yazabilirsiniz:
sudo apt update
sudo apt install nginx
Bu komutlar, sisteminize Nginx’i yükleyecektir. Yükleme tamamlandığında, Nginx otomatik olarak başlar. Web tarayıcınıza gidip “http://localhost” yazarsanız, karşınıza Nginx’in hoş geldiniz sayfası çıkacaktır.
2. Nginx'in Çalıştığından Emin Olmak
Nginx kurulumunun doğru yapıldığından emin olmak için şu komutu yazabilirsiniz:
systemctl status nginx
Eğer her şey yolunda gitmişse, terminalde “active (running)” yazısını görmelisiniz. Bu, Nginx'in başarıyla çalıştığını gösterir.
3. Nginx Konfigürasyonu
Nginx’i kurduktan sonra sıra geldi konfigürasyona. Endişelenmeyin, konfigürasyon dosyalarını düzenlemek aslında oldukça basittir.
Nginx konfigürasyon dosyası genellikle /etc/nginx/nginx.conf yolunda bulunur. Bu dosyayı düzenlemek için aşağıdaki komutu kullanabilirsiniz:
sudo nano /etc/nginx/nginx.conf
Burada yapabileceğiniz birkaç önemli ayar var. Örneğin, sunucunuzun varsayılan portu 80'dir. Fakat, eğer farklı bir port kullanmak isterseniz, şu satırı bulup değiştirebilirsiniz:
server {
listen 80;
Burada, listen 80; satırındaki 80 numarasını değiştirebilirsiniz. Örneğin, listen 8080; şeklinde de değiştirebilirsiniz.
4. Sanal Host (Virtual Hosts) Konfigürasyonu
Nginx, sanal hostlar kullanarak birden fazla siteyi aynı anda barındırabilmenizi sağlar. Her bir sanal host için farklı bir yapılandırma dosyası oluşturmalısınız. Bunun için sites-available ve sites-enabled dizinlerini kullanırız.
Yeni bir sanal host dosyası oluşturmak için şu komutla bir dosya oluşturabilirsiniz:
sudo nano /etc/nginx/sites-available/yourdomain.com
Dosyanın içine aşağıdaki gibi temel bir yapı yazabilirsiniz:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Sonrasında bu dosyayı sites-enabled dizinine bağlamanız gerekir. Bunu yapmak için şu komutu yazabilirsiniz:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
Ardından Nginx'i yeniden başlatarak değişikliklerinizi aktif hale getirebilirsiniz:
sudo systemctl restart nginx
Artık, yourdomain.com adresini tarayıcınıza yazdığınızda, doğru içeriği görmelisiniz.
5. Güvenlik Duvarı ve Port Açma
Eğer bir güvenlik duvarı (firewall) kullanıyorsanız, HTTP ve HTTPS trafiğine izin vermeniz gerekebilir. Ubuntu'da UFW (Uncomplicated Firewall) kullanıyorsanız, şu komutları girerek gerekli izinleri verebilirsiniz:
sudo ufw allow 'Nginx Full'
Bu komut, HTTP ve HTTPS bağlantılarını güvenlik duvarınızdan geçirecektir.
6. Nginx’in Performansını Artırmak
Nginx, zaten çok hızlı bir web sunucusudur, ancak bazı ek ayarlarla daha da performansını artırabilirsiniz. İşte birkaç öneri:
- Gzip sıkıştırması: Nginx ile gelen içerikleri sıkıştırarak hızlandırabilirsiniz. Bunu aktif hale getirmek için şu satırı nginx.conf dosyasına ekleyin:
gzip on;
gzip_types text/plain application/xml text/css application/javascript;
- Bağlantı havuzu (Connection Pooling): Nginx, bağlantı havuzlarını kullanarak gelen isteklerinizi daha hızlı bir şekilde işleyebilir.
Bu tür küçük ayarlarla, Nginx’i en verimli şekilde kullanabilirsiniz.
7. Hata Günlükleri ve İzleme
Son olarak, Nginx’in hatalarını takip etmek çok önemlidir. Hata günlükleri (error logs) ve erişim günlükleri (access logs) Nginx’in varsayılan olarak belirlediği klasörlerde tutulur:
- Hata günlüğü: /var/log/nginx/error.log
- Erişim günlüğü: /var/log/nginx/access.log
Bu log dosyalarını takip ederek, olası hataları ve performans sorunlarını kolayca tespit edebilirsiniz.
Sonuç olarak, Nginx kurulumu ve konfigürasyonu oldukça basit, ancak güçlü bir web sunucusu oluşturmanıza olanak tanır. Bu rehberle, Nginx'in temellerini öğrenmiş oldunuz. İster kişisel web sitenizi, ister büyük ölçekli projelerinizi barındırıyor olun, Nginx size hızlı ve güvenli bir ortam sağlayacaktır.