- Katılım
- 21 May 2024
- Konular
- 1,284
- Mesajlar
- 2,281
- Online süresi
- 3ay 22g
- Reaksiyon Skoru
- 2,268
- Altın Konu
- 935
- Başarım Puanı
- 269
- Yaş
- 51
- TM Yaşı
- 1 Yıl 11 Ay 3 Gün
- MmoLira
- 24,425
- DevLira
- 110
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Nginx'li Apache Web Sunucusu
Genellikle ters proxy sunucusu olarak kullanılan yüksek performanslı tamamlayıcı bir web sunucusu olan nginx'i kullanarak, müşteri web sitelerini barındıran web sunucusunun (Apache) çalışmasını iyileştirebilirsiniz . Bu web sunucusu, büyük miktarlarda statik içerik (resimler, video, css, xml vb.) sunmak için özel olarak tasarlanmıştır. Apache'nin aksine, nginx çok sayıda eşzamanlı bağlantıyı yönetme konusunda çok daha verimlidir. Bu web sunucusunun Apache ile karşılaştırıldığında bir diğer avantajı, nginx'in istemci bağlantısı başına çok daha küçük bir bellek alanına sahip olmasıdır.
Nginx'in tüm avantajlarından yararlanmak için Plesk, onu İnternet ile Apache arasında duran bir ters proxy sunucusu olarak yapılandırır (aşağıdaki şemaya bakın). Bu, nginx'in site ziyaretçilerinden gelen tüm istekleri işleyen bir ön uç web sunucusu haline geldiği anlamına gelir. İstekler Apache'ye gönderilir ve bu da istekleri statik ve dinamik içerik olarak ayırır. Eğer istek statik bir dosya içinse (jpg, css, html vb.), Apache isteği tüm kayıtlı işleyicilerden geçirir ( .htaccessdizin düzeyinde yapılandırma uygular, URL'yi yeniden yazar vb.) ve nginx a'ya geri döner. Yalnızca istenen dosyanın dosya sistemindeki konumunu içeren yanıt. nginx dosyayı bulur ve istemciye gönderir. İstek dinamik bir dosya içinse (PHP betiği gibi), Apache dosyayı yürütür ve yanıtı nginx'e gönderir, o da dosyayı istemciye iletir.
Nginx ve Apache'nin böyle bir kombinasyonu aşağıdaki avantajları sağlar:
- Bir web sitesine maksimum eşzamanlı bağlantı sayısı artar.
- Sunucu CPU ve bellek kaynaklarının tüketimi azalır. Maksimum etki, büyük miktarda statik içeriğe sahip web siteleri (fotoğraf galerileri, video akış siteleri vb.) için elde edilecektir.
- Bağlantı hızı yavaş olan (GPRS, EDGE, 3G vb.) ziyaretçilere hizmet verme verimliliği artar. Örneğin, 10 KB/s bağlantısı olan bir istemci, 100 KB yanıt üreten bir PHP betiği ister. Sunucuda nginx yoksa yanıt Apache tarafından iletilir. Yanıtın iletilmesi için gereken 10 saniye boyunca Apache ve PHP, bu açık bağlantı için tüm sistem kaynaklarını tüketmeye devam eder. Nginx kuruluysa, Apache yanıtı nginx'e iletir (her ikisi de aynı sunucuda bulunduğundan nginx-Apache bağlantısı çok hızlıdır) ve sistem kaynaklarını serbest bırakır. Nginx'in bellek alanı daha küçük olduğundan sistem üzerindeki genel yük azalır. Çok sayıda bu tür yavaş bağlantınız varsa, nginx kullanımı web sitesi performansını önemli ölçüde artıracaktır.
Nginx ile Plesk, HTTP İsteklerini Nasıl İşler?
Plesk, nginx'i Apache ile sorunsuz bir şekilde entegre etmek için iki ek Apache modülü kullanır:- mod_aclr2.htaccess Bu modül, diğer tüm Apache modüllerinin (mod_rewrite, ilgili modüller, mod_php vb.) işleyicilerinden sonra çalışan bir işleyici kurar . Bu nedenle, istek dinamik içerik içinse, istek belirli Apache modüllerinin (mod_php, mod_perl, mod_cgi vb.) üst düzey işleyicileri tarafından yerine getirileceğinden mod_aclr2 bunu asla alamaz. Bunun tek istisnası SSI istekleridir: mod_aclr2'ye ulaştıklarında onları uygun işleyicilere yönlendirir. İstek statik bir dosya içinse mod_aclr2, dosya sistemindeki tam dosya konumunu arar ve konumu nginx'e gönderir.
- mod_rpaf veya mod_remoteip Apache açısından bakıldığında, tüm istemcileri aynı IP adresine sahiptir - nginx sunucusunun adresi (yukarıdaki şemaya bakın). Bu, kimlik doğrulama, istatistik amaçları vb. için istemci IP adreslerini kullanan web siteleri ve web uygulamaları için sorunlara neden olur. mod_rpaf (Apache 2.2'de) veya mod_remoteip (Apache 2.4'te), tüm isteklerde nginx sunucusunun IP adresini istemci IP adresleriyle değiştirerek sorunu çözer. Daha ayrıntılı olarak, modül, nginx'in bir istemcinin IP adresini yerleştirdiği özel X-Forwarded-For başlığını kullanır.
Statik bir dosya için bir HTTP isteğinin işlenme sırası aşağıdaki gibidir (şemaya bakın):
- Bir istemci bir web sunucusuna bir istek gönderir.
- nginx, isteğe X-Accel-Internal (mod_aclr2 tarafından kullanılır) ve X-Forwarded-For (istemcinin IP adresini içerir) başlıklarını ekler ve isteği Apache'ye gönderir.
- Apache isteği alır ve kayıtlı işleyiciler tarafından işlemeye başlar ( .htaccessyapılandırmayı uygular, URL'yi yeniden yazar vb.). Bu adımda mod_rpaf, REMOTE_ADDR Apache değişkenindeki nginx sunucusunun IP adresini, istemcinin X-Forwarded-For başlığındaki adresiyle değiştirir.
- İstek tüm kayıtlı işleyiciler tarafından işlendikten sonra mod_aclr2'ye ulaşır. İşleyici, X-Accel-Internal üstbilgisinin varlığını kontrol eder. Başlık mevcutsa, modül nginx'e sıfır içerik uzunluğuna ve X-Accel-Redirect başlığına sahip bir yanıt gönderir. Bu başlık, mod_aclr2 tarafından belirlenen dosyanın tam konumunu içerir.
- Nginx yanıtı aldığında dosyayı bulur ve istemciye iletir.
Dinamik içeriğe yönelik isteklerin işlenmesi durumunda 1'den 3'e kadar olan adımlar aynıdır. Daha sonra istek, uygun Apache modülünün işleyicisine ( mod_php , mod_perl , mod_cgi vb.) iletilir. İstek asla mod_aclr2'ye ulaşmaz (SSI istekleri hariç). İşleyici bir yanıt oluşturur ve bunu nginx'e gönderir, o da yanıtı müşteriye iletir. Aşağıdaki diyagram Plesk'in bir PHP dosyasına yönelik bir isteği nasıl işlediğini göstermektedir.
Nginx'i yükleme
Temiz bir Plesk kurulumu gerçekleştirirseniz nginx varsayılan olarak açılacaktır. Daha önceki sürümlerden yükseltme yaparsanız, yükseltmeden sonra istediğiniz zaman Araçlar ve Ayarlar > Güncellemeler ("Plesk" altında) > Bileşen Ekle/Kaldır bölümünden "Nginx web sunucusu" bileşenini yükleyebilirsiniz . Bileşen eklendikten sonra Araçlar ve Ayarlar > Hizmet Yönetimi bölümünde (“Sunucu Yönetimi” altında) Ters Proxy Sunucusu (nginx) hizmetini başlatın.Kurulu nginx sunucusunun sürümünü Araçlar ve Ayarlar > Sunucu Bileşenleri'nde (“Sunucu Yönetimi” altında) görüntüleyebilirsiniz .
Nginx'i kapatma
Tek bir Apache web sunucusuyla yapılandırmaya geri dönmek için Araçlar ve Ayarlar > Hizmet Yönetimi bölümünde (“Sunucu Yönetimi” altında) Ters Proxy Sunucusu (nginx) hizmetini durdurun.
Nginx'i yeniden ön uç web sunucusu yapmak için Ters Proxy Sunucusu (nginx) hizmetini başlatın.
Not: Ters Proxy Sunucusu (nginx) hizmetinin başlatma ve durdurma işlemleri yalnızca nginx'i başlatıp durdurmakla kalmaz, aynı zamanda web sunucusu yapılandırmasını da değiştirir (nginx ve Apache kombinasyonu veya yalnızca ön uç web sunucusu olarak Apache). Yeniden başlatma işlemi diğer tüm hizmetlerle aynı şekilde çalışır: nginx hizmeti yeniden başlatılır.









