Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 9877|Jawab: 0

Protokol nginx fastcgi_pass diperkenalkan dan diuji secara singkat

[Salin tautan]
Dipaparkan pada 2021-11-16 22:16:20 | | | |
nginx umumnya mengirimkan permintaan ke proses manajemen FastCGI untuk diproses, mengambil situs php sebagai contoh, php-fpm adalah implementasi dari protokol Fastcgi, hypervisor yang mengelola php-cgi. Berikut diagram alurnya:



CGI adalah singkatan dari "Common Gateway Interface", alat bagi server HTTP untuk "berbicara" dengan program di mesin Anda atau mesin lain, dan program mereka harus berjalan di server web.

Kekurangan CGI: Ketika setiap permintaan masuk, CGI akan melakukan fork proses baru, dan kemudian mengambil PHP sebagai contoh, setiap permintaan menghabiskan banyak memori, sehingga ketika diluncurkan, itu akan sepenuhnya GG.

Untuk mengatasi masalah ini, fastCgi dibuat.

FastCGI seperti CGI berumur panjang, dapat dieksekusi sepanjang waktu, selama diaktifkan, tidak perlu waktu untuk melakukan fork setiap saat (ini adalah mode fork-and-execute CGI yang paling dikritik). Ini juga mendukung komputasi terdistribusi, yang berarti bahwa program FastCGI dapat dijalankan pada host selain server web dan menerima permintaan dari server web lain.
Ujian

Buat file php baru di bawah direktori D:\dev_tools\nginx-1.20.0\html\php untuk mencegah nginx melaporkan kesalahan 404 ketika file tidak dapat ditemukan, sebagai berikut:



NGINX fastcgi_pass dikonfigurasi sebagai berikut:



Data yang dikirimkan oleh nginx fastcgi_pass perlu diurai sesuai dengan protokol FastCGIJika Anda tertarik, Anda dapat pergi untuk mencari tahu, saya menggunakan sokit di sini untuk mengaktifkan TCP mendengarkan untuk penerimaan sederhana, coba gunakan browser untuk mengakses:http://127.0.0.1:22229/itsvse.php, seperti yang ditunjukkan pada gambar di bawah ini:



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-hidup.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Kromium"; v="92", " bukan A; Merek"; 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; Menang64; x64) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html, application/xhtml+xml, application/xml; q = 0,9, gambar / avif, gambar / webp, gambar / apng, * / *; q = 0,8, aplikasi / pertukaran yang ditandatangani; 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, mengempiskan, br.. HTTP_ACCEPT_LANGUAGEzh-CN, zh; q = 0,9,en; q = 0,8......................
(Akhir)




Mantan:Instal curl berdasarkan Debian (gambar buruh pelabuhan).
Depan:E45: 'readonly' option is set (add ! to override)
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com