Nginx Nedir?
Nginx, HTTP ve ters proxy sunucusu olarak kullanılan açık kaynaklı bir yazılımdır. Yüksek performansı, düşük bellek kullanımı ve ölçeklenebilirliği ile dikkat çeker. Genellikle statik içerik sunumu, HTTP yük dengelemesi ve proxy işlevleri için tercih edilir. Nginx’in dayanıklılığı ve hızları, onu dünya çapında birçok web sitesi ve uygulama tarafından tercih edilen bir seçenek haline getirmiştir.
Nginx Kurulum Öncesi Gereksinimler
Herhangi bir Linux dağıtımında Nginx kurulumu yapmadan önce, öncelikle güncellenmiş bir sistem kullanılmakta olan yazılım kaynaklarının bulunması gerekmektedir. Gerekli güncellemeleri yapmak için aşağıdaki komutlar kullanılabilir:
Ubuntu ve Debian için:
“`bash
sudo apt update
sudo apt upgrade
“`
CentOS, AlmaLinux ve Rocky Linux için:
“`bash
sudo dnf update
“`
Fedora için:
“`bash
sudo dnf upgrade
“`
Ubuntu ve Debian Üzerinde Nginx Kurulumu
Ubuntu veya Debian tabanlı bir sistemde Nginx kurmak için terminal üzerinde aşağıdaki komutların sırasıyla çalıştırılması gerekir:
1. Nginx’i yüklemek için:
“`bash
sudo apt install nginx
“`
2. Yükleme tamamlandıktan sonra, Nginx hizmetini başlatmak için:
“`bash
sudo systemctl start nginx
“`
3. Nginx’in otomatik olarak sistem başlatıldığında çalışması için:
“`bash
sudo systemctl enable nginx
“`
Nginx’i yükledikten sonra, tarayıcıda `http://localhost` adresine giderek kurulumun başarılı olup olmadığını kontrol etmek mümkündür. Eğer “Welcome to nginx!” sayfası görüntülenirse kurulum başarılı olmuştur.
CentOS, AlmaLinux ve Rocky Linux Üzerinde Nginx Kurulumu
Bu dağıtımlarda Nginx kurmak için şu adımlar izlenebilir:
1. EPEL (Extra Packages for Enterprise Linux) deposunun etkinleştirilmesi gerekmektedir:
“`bash
sudo dnf install epel-release
“`
2. Nginx’i kurmak için:
“`bash
sudo dnf install nginx
“`
3. Nginx’i başlatmak için:
“`bash
sudo systemctl start nginx
“`
4. Nginx’in sistem açılışında otomatik başlamasını sağlamak için:
“`bash
sudo systemctl enable nginx
“`
5. Tarayıcıda yine `http://localhost` adresine giderek kurulumun kontrol edilmesi mümkündür.
Fedora Üzerinde Nginx Kurulumu
Fedora üzerinde Nginx kurmak, diğer dağıtımlara benzer şekilde gerçekleştirilir:
1. Nginx’i yüklemek için terminalde aşağıdaki komutlar girilir:
“`bash
sudo dnf install nginx
“`
2. Yüklemeden sonra Nginx’i başlatmak için:
“`bash
sudo systemctl start nginx
“`
3. Boot işlemlerinde otomatik açılış için:
“`bash
sudo systemctl enable nginx
“`
Yine, `http://localhost` adresine gidilerek hizmetin çalışıp çalışmadığı kontrol edilebilir.
Nginx Yapılandırması
Kurulumdan sonra, Nginx yapılandırma dosyası genellikle `/etc/nginx/nginx.conf` konumunda bulunur. Bu dosya, sunucu ayarlarını ve yük dengeleme gibi görevleri yönetmek için düzenlenebilir. Yapılandırma dosyasında yapılan değişikliklerden sonra, değişikliklerin etkili olabilmesi için Nginx’in yeniden başlatılması gerekmektedir. Bunu aşağıdaki komut ile yapmak mümkündür:
“`bash
sudo systemctl restart nginx
“`
Yapılandırma dosyasındaki hataları kontrol etmek için şu komut kullanılabilir:
“`bash
sudo nginx -t
“`
Nginx Güvenlik Duvarı Ayarları
Nginx kurulduktan sonra, genellikle güvenlik duvarı ayarlarının düzenlenmesi gerekir. Ubuntu ve Debian tabanlı sistemlerde UFW kullanılıyorsa şu komutlar kullanılabilir:
“`bash
sudo ufw allow ‘Nginx Full’
“`
CentOS, AlmaLinux ve Rocky Linux gibi dağıtımlarda ise şu şekilde ayarlama yapılabilir:
“`bash
sudo firewall-cmd –zone=public –add-service=http –permanent
sudo firewall-cmd –zone=public –add-service=https –permanent
sudo firewall-cmd –reload
“`
Nginx ile SSL Sertifikası Kurulumu
Güvenli bağlantılar için Nginx’e SSL sertifikası eklenmesi önerilmektedir. Let’s Encrypt gibi hizmetler kullanılarak ücretsiz SSL sertifikası alınabilir. Sertifikanın kurulumu için Certbot aracı kullanılabilir. Bunu gerçekleştirmek için, öncelikle Certbot’un yüklenmesi gerekmektedir. Örneğin, Ubuntu için:
“`bash
sudo apt install certbot python3-certbot-nginx
“`
Ardından SSL kurulumu yapmak için şu komut çalıştırılır:
“`bash
sudo certbot –nginx
“`
Kurulum sırasında gerekli bilgiler girilerek SSL sertifikası alınabilir ve Nginx ayarları otomatik olarak güncellenir.
Nginx İle İlgili Diğer Bilgiler
Nginx ile ilgili daha fazla bilgi, belgeler ve modüllerin kullanımı için resmi Nginx web sitesi ve dokümantasyonu incelenmelidir. Nginx, farklı modüller ve ayar seçenekleri ile özelleştirilerek, performansa ve güvenliğe dair çeşitli optimizasyonlar gerçekleştirilebilir.
Nginx, modern web uygulamaları için önemli bir yapı taşıdır ve doğru yapılandırma ile hızlı ve güvenilir bir web sunucusu işlevi görmekte büyük rol oynamaktadır. Kurulumu tamamlanan Nginx, başarılı bir şekilde yönetilerek kaliteli bir hizmet sunulabilir.