Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 9877|Yanıt: 0

nginx fastcgi_pass protokolü kısa süreliğine tanıtıldı ve test edildi

[Bağlantıyı kopyala]
2021-11-16 tarihinde yayınlandı 22:16:20 | | | |
nginx genellikle FASTCGI yönetim sürecine işlem için istekler gönderir; örneğin PHP sitesi, PHP-FPM, PHP-CGI'yi yöneten bir hipervizör olan Fastcgi protokolünün bir uygulamasıdır. İşte akış şeması:



CGI, "Common Gateway Interface" anlamına gelir; HTTP sunucularının sizin veya diğer makinelerdeki programlarla "konuşması" için bir araç ve programlarının bir web sunucusunda çalışması gerekir.

CGI'nin dezavantajları: Her istek girdiğinde, CGI yeni bir süreç çatallanır ve örnek olarak PHP'yi alırsak, her istek önemli miktarda bellek tüketir, böylece başlatıldığında tamamen GG olur.

Bu sorunu çözmek için fastCGI oluşturuldu.

FastCGI uzun ömürlü bir CGI gibidir, her zaman çalıştırılabilir, etkinleştirildiği sürece her seferinde çatallanması zaman almaz (bu, en çok eleştirilen çatal-çalıştır (bu, CGI'nin en çok eleştirilen fork-and-execute modudur). Ayrıca dağıtık bilişimi destekler; yani FastCGI programları web sunucusu dışındaki ana bilgisayarlarda çalıştırılabilir ve diğer web sunucularından gelen talepleri kabul edebilir.
Test

Dosya bulunamazsa nginx'in 404 hatası bildirmesini önlemek için D:\dev_tools\nginx-1.20.0\html\php dizininde yeni bir php dosyası oluşturun:



nginx fastcgi_pass aşağıdaki şekilde yapılandırılmıştır:



nginx fastcgi_pass tarafından iletilen verilerin FastCGI protokolüne göre ayrıştırılması gerekirİlgileniyorsanız, öğrenmeye gidebilirsiniz, burada sokit kullanıyorum, basit bir alım için TCP dinlemeyi etkinleştiriyorum, erişmek için tarayıcı kullanmayı deneyin:http://127.0.0.1:22229/itsvse.php, aşağıdaki şekilde gösterildiği gibi:



22:06:07 DAT ---> [TCP] 127.0.0.1:1032 <1136> ..................... B.... QUERY_STRING.. REQUEST_METHODGET.. CONTENT_TYPE.. CONTENT_LENGTH.. SCRIPT_NAME/itsvse.php.. REQUEST_URI/itsvse.php.. DOCUMENT_URI/itsvse.php." DOCUMENT_ROOTD:/dev_tools/nginx-1.20.0/html/php.. SERVER_PROTOCOLHTTP/1.1..REQUEST_SCHEMEhttp.. GATEWAY_INTERFACECGI/1.1..SERVER_SOFTWAREnginx/1.20.0..REMOTE_ADDR127.0.0.1.. REMOTE_PORT1025.. SERVER_ADDR127.0.0.1.. SERVER_PORT22229.. SERVER_NAME.. REDIRECT_STATUS200.. HTTP_HOST127.0.0.1:22229..HTTP_CONNECTIONkeep-hayatta.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Krom"; v="92", " A değil; Brand"; v="99", "Google Chrome"; v="92".. HTTP_SEC_CH_UA_MOBILE?0..HTTP_UPGRADE_INSECURE_REQUESTS1.sHTTP_USER_AGENTMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, Gecko gibi) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,image/avif,image/webp,image/apng,*/*; q=0.8,uygulama/imzalanan değişim; v=b3; q=0.9..HTTP_SEC_FETCH_SITEnone.. HTTP_SEC_FETCH_MODEnavigate.. HTTP_SEC_FETCH_USER?1..HTTP_SEC_FETCH_DESTdocument.. HTTP_ACCEPT_ENCODINGgzip, söndür, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0.9,en; q=0.8......................
(Son)




Önceki:Debian tabanlı curl kur (docker görüntüsü).
Önümüzdeki:E45: 'readonly' option is set (add ! to override)
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com