NGINX popüler, ücretsiz ve açık kaynaklı bir web sunucusudur. Varsayılan NGINX yapılandırmaları, web sunucusunun çalışmasını sağlayacak kadar iyidir.
Ancak, NGINX'i sonuna kadar kullanmak istiyorsanız, yapılandırma dosyalarıyla oynamanız ve sunucunun performansını optimize edecek parametreleri ayarlamanız gerekir. Yapılandırma dosyalarını şurada bulacaksınız: /etc/nginx bir Linux makinesindeki dizin.
NGINX Nedir?
NGINX, medya aktarıcı, posta sunucusu olarak kullanabileceğiniz modern bir web sunucusudur. ters proxy, yük dengeleyici, önbellek sunucusu ve daha fazlası.
VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter gibi birçok büyük profil tarafından kullanılan NGINX, birinci sınıf performansıyla tanınmaktadır. NGINX kullanmanın bir başka avantajı da yapılandırmasının ve öğrenmesinin kolay olmasıdır.
Linux'ta NGINX Performansını Ayarlamak için Ön Koşullar
NGINX yapılandırmalarına başlamadan önce aşağıdaki gereksinimleri karşılamanız gerekir:
- Linux'ta konuşlandırılmış ve yapılandırılmış bir NGINX sunucusu
- NGINX ve yapılandırma dosyalarının temel olarak anlaşılması
Bu gereksinimleri karşılıyorsanız, NGINX'i optimum performans için ayarlamaya hazırsınız demektir. Nasıl yapılacağını görelim.
1. NGINX'te Çalışan İşlemleri Yapılandırma
NGINX mimarisi, bir ana süreçten ve birkaç çalışan süreçten oluşur. Ana sürecin işi, yapılandırmayı değerlendirmek ve çalışanları yönetmektir. Öte yandan, çalışan sürecin rolü, gelen isteklerle ilgilenmek ve istemci ile sunucu arasında bir bağlantı oluşturmaktır.
Proses değeri şu şekilde ayarlanır: Oto varsayılan olarak. Bu, çalışan işlemlerin sayısını kullanılabilir CPU çekirdeği sayısına eşitler. Sisteminizde kaç tane CPU çekirdeği olduğunu öğrenmek için aşağıdaki komutu çalıştırın:
grep işlemci /proc/cpuinfo | tuvalet -l
Çalışan işlemlerin sayısını artırmak istiyorsanız, bunu NGINX yapılandırma dosyasında yapılandırmanız gerekir.
Dosyayı nano ile açın:
nano vb/nginx/nginx.conf
Daha fazla çalışan işlemi yapılandırmak için, varsayılan değeri sisteminizdeki maksimum kullanılabilir CPU çekirdeği sayısı olarak değiştirin.
2. Çalışan Bağlantılarını Yapılandırma
NGINX'in performansını artırmak için değiştirebileceğiniz başka bir parametre de çalışan bağlantılarıdır. Bu, her çalışan işlemin aynı anda işleyebileceği maksimum TCP bağlantısı sayısıdır.
Çoğu sistemin varsayılan değeri 512 bağlantıdır, ancak birçok modern sistem daha büyük bir sayıyı da destekler. Sisteminizin kaç bağlantıyı desteklediğini kontrol edebilirsiniz:
ulimit -N
Çıktı, desteklenen maksimum bağlantı sayısı olacaktır. Daha sonra değiştirebilirsiniz işçi_bağlantıları performansı artırmak için NGINX yapılandırma dosyasındaki değişken.
3. NGINX'te GZIP Sıkıştırmasına İzin Ver
NGINX, dosya sıkıştırma ve açma için GZIP kullanır. NGINX yapılandırma dosyasında etkinleştirilirse, bant genişliğinden tasarruf edebilir ve bağlantı yavaşken web sitesinin yükleme süresini artırabilirsiniz.
GZIP sıkıştırmasına izin vermek için NGINX yapılandırma dosyasına aşağıdaki satırları ekleyin:
sunucu {
gzip'i açın;
gzip_vary açık;
gzip_min_uzunluk 10240;
gzip_proxied'in süresi doldu-önbellekHAYIR-mağazaözel yetki;
gzip_types metin/düz metin/css metni/xml metni/javascript uygulaması/x-javascript uygulaması/xml;
gzip_disable "MSIE [1-6]\.";
}
4. NGINX'te Zaman Aşımı Değerini Sınırla
Azaltılmış zaman aşımı değerleri, NGINX performansını artırmada da önemli bir rol oynar. bu hayatta kal bağlantılar, bağlantıları açarken ve kapatırken işlemci ve ağ yükünü azaltır.
Zaman aşımlarını sınırlamak için yapılandırma dosyasında aşağıdaki parametreleri değiştirebilirsiniz:
http
{
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
}
5. Arabellek Boyutunu Ayarla
Sunucu performansını optimize etmek için NGINX arabelleklerini de ayarlayabilirsiniz. Arabellek boyutu çok düşükse, NGINX büyük G/Ç işlemlerinin sürekli çalışmasına neden olan geçici bir dosyaya yazacaktır.
NGINX'in en iyi şekilde çalışması için aşağıdaki arabellek parametrelerini ayarlamanız gerekir:
http
{
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8 m;
large_client_header_buffers 4 4k;
}
6. Erişim Günlüklerini Devre Dışı Bırakın veya Erişim Günlüklerini Arabelleğe Almayı Etkinleştirin
Günlükler, her isteği günlüğe kaydederse sunucunun performansını etkileyebilecek büyük miktarda disk alanı ve CPU/IO döngüleri kullanır.
Biraz disk alanı ve CPU işleme tasarrufu sağlayacak erişim günlüklerini devre dışı bırakabilirsiniz. Erişim günlüklerini devre dışı bırakmak için NGINX yapılandırma dosyasına aşağıdaki satırı ekleyin:
erişim_oturumunu kapat;
Günlükler, bir sorunu gidermeye yardımcı oldukları için önemlidir. Günlükleri tamamen devre dışı bırakmak iyi bir uygulama değildir. Bu durumda, erişim günlüklerini arabelleğe almayı etkinleştirebilirsiniz. Bu, NGINX'in bir dizi günlüğü arabelleğe almasına ve her istekte farklı günlük işlemleri uygulamak yerine bunları aynı anda günlük dosyasına yazmasına olanak tanır.
Erişim günlüklerinin arabelleğe alınmasına izin vermek için NGINX yapılandırma dosyasına aşağıdaki satırı ekleyin:
erişim günlüğü/var/log/nginx/access.loganatampon=16k
7. NGINX'te Statik İçerik Önbelleğe Alma Süresini Ayarlayın
Web sitesindeki sayfalar arasında aynı kalan içerik, statik içerik olarak bilinir. Bu içeriğin önbelleğe alınması, kolayca erişilebilen konumlara yerleştirilmesine olanak tanır. Bu mekanizma, bant genişliği kullanımını azaltır, hızlı erişilebilirlik sağlar ve ardından web sitesinin performansını artırır.
Bir istemci statik içerik istediğinde, sunucu içeriğin önbelleğe alınmış bir sürümünü sunar. içine yerleştirilen sanal konak dosyasına aşağıdaki satırları ekleyin. /etc/nginx/sites-available dizin:
konum ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
90d sona erer;
}
Bu yapılandırma, dosyaları son tarayıcı erişiminden bu yana 90 gün boyunca önbelleğe alır.
8. NGINX'te Açık Dosya Önbelleğini Etkinleştir
Performansını artırmak için NGINX yapılandırma dosyasında açık dosya önbelleği parametrelerini de kullanabilirsiniz. Bu yönerge, dosya tanıtıcısının ve sık ziyaret edilen dosyaların sunucuda önbelleğe alınmasını sağlar.
içine aşağıdaki satırları ekleyin http açık dosya önbelleğini etkinleştirmek için yapılandırma dosyasındaki bölüm:
http {
open_file_cache max=1024 etkin değil=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors açık;
}
Yapılandırma Dosyalarını Değiştirerek NGINX'ten En İyi Şekilde Yararlanın
Konfigürasyonları değiştirirken izlenecek iyi bir uygulama, her seferinde bir ayarla uğraşmak ve onu test etmektir. Çalışırsa, bir sonraki ayara geçin. Değilse, yapılandırmayı her zaman varsayılan değere geri değiştirebilirsiniz.
NGINX yapılandırma dosyalarında yapılandırılan parametreleri değiştirerek, örneğin nginx.conf ve sanal konak dosyaları, en iyi performansı vermek için NGINX'i hackleyebilirsiniz.