Nginix ile uçuşa geçin.

Nginix ile alakalı profesyonel bir görsel eğitim seti hazırlayacağım. Ancak öncelikle kendi bilgimi biraz daha geliştirmeliyim. Küçükten başlayarak blog notları almak çok akıllıca. Hemde fayda sağlamış oluyorsunuz. Hemde tekrar etmek güzel.

Nginx 2002 yılında Igor Sysoev isimli bir rus yazılım mühendisi tarafından geliştirilmiş, hafif ve çok hızlı bir web sunucusudur. Aslında geliştirilme amacı mail sunucularının performansını arttırmaktı. Ancak performans konusunda o kadar iyiydi ki web sunucularıyla da uyumlu hale getirildi ve nginx aynı başarıyı web sunucusu olarakta gösterdi.

Şimdilerde birçok geliştiricinin, hatta hosting firmasının tercihi haline geldi. Çünkü performans farkı gözle görülür derecede fazla. Hal böyle olunca da bir noktadan sonra nginx kullanmak lüks değil mecburiyet oluyor. Wikipediadan özelliklerine bakabilirsiniz.

Kimler Nginx Kullanır

NGINX Plus ve NGINX, Dropbox, Netflix ve Zynga gibi yüksek trafikli web siteleri tarafından kullanılan sınıfının en iyisi web sunucusu ve uygulama dağıtım çözümleridir. Dünya çapında 409 milyondan fazla web sitesi, içeriklerini hızlı, güvenilir ve güvenli bir şekilde sunmak için nginx kullanıyor.

Nginx Kuralım

Linux işletim sistemine sahip bir bilgisayarda, birlikte nginx kuralım ve 1-2 basit ayar nasıl yapılıyor birlikte bakalım isterseniz. Önce terminl açalım ve root olalım.

sudo su

Şimdi paketlerimizi güncelleyelim;

apt-get update

Nginx kuralım;

apt-get install nginx

Şimdi ise browser açalım ve localhost yazalım.

Bazı Nginx Komutları

systemctl status nginx

Çıktısı şuna benzer bişey olacaktır;

systemctl start nginx #nginx başlatır.
systemctl stop nginx #nginx durdurur.
systemctl reload nginx #nginx tekrar başlatır

Yukarıdaki komutlar standart durdurup tekrar başlatma komutlarıdır. Eğer bilgisayar ya da sunucu her başladığında nginx otomatik olarak başlasın isterseniz ki, varsayılan olarak böyledir;

systemctl enable nginx

Aksi durumda, yani her seferinde manuel olarak başlatırım, başlangıçta kendisi başlamasın diyorsanız eğer;

systemctl disable nginx

Nginx yapılandırma dosyalarının tümü /etc/nginx dizininde bulunur. Global anlamda nginx üzerinde etkili olmasını istediğimiz bir ayar yapacaksak düzenlememiz gereken dosyamız /etc/nginx/nginx.conf dosyasıdır.

Nginx Farkı

Apache, blocking model bir mimariye sahiptir. Gelen her request için bir socket açar. Yoğun trafik ile başa çıkması çok zordur.

Nginx biraz daha, aslında çok daha farklıdır. Asenkron mimariye sahiptir. Request işleme alındığında bir main process içinde asynchronous workers kullanır.

Worker’a verilen görev bir event handler ile ilişkilidir. Worker yapması gereken işi tamamladığında bir event iletir. İlişkili event handler, iletilen eventlar üzerinden süreci yönettiği için thread sayısı arttıkça bekleme süresi ve geç yanıt verme gibi sorunlar yaşanmaz.

Alternatifleri ile karşılaştırıldığında çok çok daha performanslı ve hızlıdır. Çok daha az CPU kullanır.