Nginx Nedir? Nasıl Kurulur?
Nginx, Igor Sysoev tarafından yazılmış, 2002 yılında resmi olmayan şekilde duyurulmuş ancak ilk resmi duyurusu 2004 yılı sonlarında olan açık kaynak kodlu bir web sunucusudur.
Unix temelli sistemler (Linux, macOS), Windows, Solaris gibi bir çok işletim sistemi üzerinde çalışabilir. Nginx (Engine X)1, yüksek performans ve eş zamanlı çalışma kabiliyetinin yanı sıra düşük hafıza kullanımına odaklanmaktadır2. Diğer yandan, Reverse Proxy Server (Ters Vekil Sunucu), Load Balancing (Yük Dengeleyici) ve HTTP request caching imkanları sunmaktadır. Netcraft tarafından 2008 yılında yapılan araştırmada Nginx’in 1,018,503 domain tarafından kullanıldığı ve genel sıralamada 6. en popüler server olduğu saptanmış3. 2017 yılı başındaki verilere bakıldığında kullanım yoğunluğunun daha da genişlediği, Apache ile olan rekabetin daha da güçlendiği görülmektedir4 5.
Haziran, 2020 verilerine göre Nginx, W3Techs tarafından erişilebilen tüm web sitelerinin 32,5%'i tarafından kullanılmaktadır6.
Yüksek trafikli ve yoğun isteğe sahip web siteleri için biçilmiş oldukça yüksek performan sunan Nginx7, single thread yanıt yapısıyla sayfa açılma hızında etkili bir artış sağlayabilmektedir. Bu işlemler kullanılan kaynaklar bazında Nginx diğer Apache ve Litespeed gibi web serverlarla karşılaştırıldığında çok daha az CPU kullanımına ihtiyaç duyar8. Bu nedenle Nginx VPS sunucular için de öncelikli olarak tercih edilmektedir.
Diğer yandan, Reverse Proxy işlemleri için Nginx ve Apache yetenekleri bir arada kullanılabilmektedir9.
Bu arada, Apache düzenlemelerinizin yer aldığı .htaccess
içeriğini Ngix konfigürasyonuna dönüştürmek isterseniz winginx.com/en/htaccess sayfasını kullanabilirsiniz10.
Nginx Kurulumu
DigitalOcean hazır paketleri arasında yer alan LEMP ile kolaylıkla ngix server edinmeniz mümkün.
macOS Üzerinde Nginx Kurulumu
Homebrew ile kolaylıkla kurulum işlemini yürütebiliriz.
brew install nginx
Kurulumun tamamlanmasının ardından sunucuyu çalıştıralım.
sudo nginx
Her şey yolunda gitmişse artık internet tarayımız üzerinden http://localhost:8080
adresini görüntüleyebiliriz.
Ubuntu Üzerinde Nginx Kurulumu
Apt ile kolaylıkla paket kurulum işlemini gerçekleştirebiliriz.
sudo apt-get update
sudo apt-get install nginx
Kurulumun tamamlanmasının ardından port kontrolü yapmamız uygun olacaktır.
sudo ufw app list
Komut sonrasında erişilebilir uygulamalar listesi olarak şöyle bir dönüş almanız gerekecektir.
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Nginx HTTP ve Nginx HTTPS profilleri için izin oluşturalım ve ardından güncel listemizi görüntüleyelim. ufw
komut kullanımı ve port işlemleri ile ilgili olarak UFW ve güvenlik Duvarı İşlemleri başlıklı yazıyı inceleyebilirsiniz.
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
sudo ufw status
Sunucu durumunu kontrol edip eğer çalışmıyorsa sunucuyu başlatalım.
sudo systemctl status nginx
sudo systemctl start nginx
Bu işlemler esnasında bir hata söz konusu olmamış ise internet tarayımız üzerinden sunucu ip adresi üzerinden http://sunucu-ip-adresi:8080
sayfa görüntülemeye başlayabiliriz.
- Nginx. Wikipedia ↩
- Owen Garrett. (2015). Inside NGINX: How We Designed for Performance & Scale. Nginx ↩
- About Netcraft ↩
- Matthias Gelbmann. (2017). Nginx reaches 33.3% web server market share while Apache falls below 50% ↩
- October 2017 Web Server Survey. Netcraft ↩
- Usage statistics of Nginx. W3Techs ↩
- Ahmet Deniz. (2017). Nginx Nedir? ↩
- Ali Çömez. (2016). Nginx Nedir? Nasıl Kurulur? ↩
- Jesin A. (2020). How To Configure Nginx as a Web Server and Reverse Proxy for Apache on One Ubuntu 18.04 Server. DigitalOcean Community ↩
- htaccess to nginx converter. Winginx ↩