国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 php手冊 [転送] FastCgi と PHP-fpm の関係を理解する

[転送] FastCgi と PHP-fpm の関係を理解する

Jul 06, 2016 pm 01:28 PM

質(zhì)問: インターネット上の一部の人は、fastcgi はプロトコルであり、php-fpm がこのプロトコルを?qū)g裝していると主張しています。また、php-fpm は fastcgi プロセスの管理に使用されるマネージャであると言う人もいます。 - fpm は php カーネルのパッチです。php.ini 設(shè)定ファイルを変更するとスムーズに再起動できないため、php-fpm が付屬する FastCGI マネージャーであるという人もいます。 PHP

そもそもCGIとは何でしょうか? CGI は、Web サーバーによって渡されるデータが標(biāo)準(zhǔn)形式であることを保証するもので、これは CGI プログラムの作成者にとって便利です。

Webサーバー(nginxなど)は単なるコンテンツの配信者です。たとえば、構(gòu)成ファイルに従ってリクエストが行われた場合、nginx はこれが靜的ファイルではなく、PHP パーサーによって処理される必要があることを認(rèn)識しているため、単純にリクエストを処理して PHP パーサーに渡します。 Nginx はどのようなデータを PHP パーサーに渡しますか? URL、クエリ文字列、POST データ、HTTP ヘッダーが存在する必要があります。CGI は、どのようなデータをどのような形式で送信するかを規(guī)定するプロトコルです。リクエストを処理するバックエンド。 PHP コードで使用するユーザーがどこから來たのかを慎重に考えてください。 /index.html,那么web server會去文件系統(tǒng)中找到這個(gè)文件,發(fā)送給瀏覽器,這里分發(fā)的是靜態(tài)數(shù)據(jù)。好了,如果現(xiàn)在請求的是/index.php

Web サーバーがこのリクエストを受信すると、対応する CGI プログラムが開始されます。これが PHP パーサーです。次に、PHP パーサーは php.ini ファイルを解析し、実行環(huán)境を初期化し、リクエストを処理し、CGI で指定された形式で処理結(jié)果を返し、プロセスを終了します。その後、Web サーバーは結(jié)果をブラウザーに返します。 /index.php

わかりました、CGIはプロトコルであり、プロセスなどとは何の関係もありません。では、fastcgi とは何でしょうか? Fastcgi は、CGI プログラムのパフォーマンスを向上させるために使用されます。

パフォーマンスを向上させる、では CGI プログラムのパフォーマンスの問題は何でしょうか? 「PHP パーサーは php.ini ファイルを解析し、実行環(huán)境を初期化します?!工饯欷坤堡扦埂?biāo)準(zhǔn) CGI はリクエストごとにこれらの手順を?qū)g行するため (疲れる必要はありません。プロセスを開始するのは非常に面倒です!)、毎回の処理時(shí)間は比較的長くなります。これは明らかに不合理です!では、Fastcgi はどのようにしてそれを行うのでしょうか?まず、Fastcgi はマスターを起動し、構(gòu)成ファイルを解析し、実行環(huán)境を初期化してから、複數(shù)のワーカーを起動します。リクエストが來ると、マスターはそれをワーカーに渡し、すぐに次のリクエストを受け入れることができます。これにより、作業(yè)の重複が回避され、當(dāng)然のことながら非常に効率的になります。また、十分なワーカーがない場合、マスターは構(gòu)成に従っていくつかのワーカーを事前に開始し、待機(jī)することができます。もちろん、アイドル狀態(tài)のワーカーが多すぎる場合は一部が停止されるため、パフォーマンスが向上し、リソースが節(jié)約されます。これがfastcgiのプロセス管理です。

それでは、PHP-FPMとは何でしょうか? Fastcgi を?qū)g裝したプログラムであり、PHP に正式に受け入れられました。

ご存知のとおり、PHP のインタプリタは php-cgi です。 php-cgi は単なる CGI プログラムであり、リクエストを解析して結(jié)果を返すことしかできませんが、プロセスを管理する方法は知りません (陛下、私にはそんなことはできません!)。そのため、php-cgi をスケジュールできるプログラムがいくつかあります。たとえば、spawn-fcgi は lighthttpd から分離されます。まあ、PHP-FPM も同様で、長い開発期間を経て、徐々に誰もが認(rèn)めるようになりました (ご存知のとおり、ここ數(shù)年、PHP-FPM の安定性の悪さについて誰もが不満を抱いていました)。ますます人気があります。

さて、最後に質(zhì)問に戻ります。
1. インターネット上の一部の人々は、fastcgi がプロトコルであり、php-fpm がこのプロトコルを?qū)g裝していると言っています

はい。

2. php-fpmはfastcgiプロセスの管理に使われるマネージャーだと言う人もいます

はい。 php-fpmの管理オブジェクトはphp-cgiです。ただし、php-fpm が fastcgi プロセスの管理者であるとは言えません。前述したように、fastcgi はプロトコルであり、php-fpm が存在したとしても、それを管理することはできないようです。今のところ)。 php-fpm は PHP カーネルのパッチであると言う人もいます。これは以前は真実でした。 php-fpm は最初から PHP カーネルに含まれていないため、この機(jī)能を使用するにはソースコードのバージョンと同じ php-fpm を見つけてカーネルにパッチを當(dāng)て、コンパイルする必要があります。その後、PHP カーネルに PHP-FPM が統(tǒng)合されてからは、--enalbe-fpm コンパイル パラメーターを使用するだけでさらに便利になりました。

3. php.ini設(shè)定ファイルを変更した後、スムーズに再起動する方法がないという人もいますので、php-fpmが誕生しました

はい、php.iniを変更した後、php-cgiプロセスがスムーズに再起動できなくなりました。 php-fpm の処理メカニズムは、新しいワーカーは新しい構(gòu)成を使用し、既存のワーカーは現(xiàn)在の作業(yè)が終了した後に休むことができるというもので、このメカニズムは移行をスムーズにするために使用されます。

4. PHP-CGI は PHP に付屬している FastCGI マネージャーだと言う人もいますが、それなら、なぜ別の php-fpm を作成する必要がありますか

そうではありません。 php-cgi は、PHP スクリプトを解釈する?yún)gなるプログラムです。

原文抜粋:https://segmentfault.com/q/1010000000256516

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)