Fund]を選択してhttps://do.co/w4do-ctaの一部として寄付を受け取りました[寄付のために書く]プログラム。Webサーバーは、さまざまな環境で動作し、さまざまなニーズを解決するために長年にわたって進化してきました。HTTPが解決しなければならない重要な問題の1つは、他のWebサーバーと同様に、HTTPプロトコル要求を処理するためのさまざまなプロセスの処理方法です。これには、ソケットのオープン、リクエストの処理、一定期間の接続のオープンの維持、その接続を通じて発生する新しいイベントの処理、および特定の言語(PHP、Perl、Pythonなど)で作成されたプログラムによって生成されたコンテンツの返却が含まれます。Module(MPM)によって実行および制御されます。HTTPには3つの異なるMPMが付属しています。*:サーバーに到達する着信接続ごとに新しいプロセスが作成されます。各プロセスは他のプロセスから分離されているため、実行中のある時点で同じ呼び出しを実行していても、プロセス間でメモリは共有されません。これは、スレッド化をサポートしないライブラリにリンクされたアプリケーション、通常は古いアプリケーションまたはライブラリを実行する安全な方法です。ワーカー:親プロセスは、子プロセスのプールの起動を担当します。子プロセスのいくつかは、新しい着信接続をリッスンし、他は要求されたコンテンツを提供します。各プロセスはスレッド化されているため(1つのスレッドで1つの接続を処理できます)、1つのプロセスで複数の要求を同時に処理できます。接続を処理するこの方法は、安定性を維持しながら、リソース使用率を向上させます。これは利用可能なプロセスのプールの結果であり、多くの場合、利用可能な空きスレッドがすぐに新しい接続を提供する準備ができています。イベント:ワーカーに基づいて、このMPMは、親プロセスが子プロセスおよびそれらに関連付けられたスレッドにタスクをスケジュールする方法を最適化することにより、さらに一歩前進します。接続はデフォルトで5秒間開いたままで、新しいイベントが発生しなければ閉じます。これは、キープアライブディレクティブのデフォルト値であり、関連付けられたスレッドを保持します。イベントMPMにより、プロセスはスレッドを管理できるため、一部のスレッドは新しい着信接続を自由に処理でき、他のスレッドはライブ接続にバインドされたままになります。割り当てられたタスクのスレッドへの再配布を許可すると、リソースの使用率とパフォーマンスが向上します。Webサーバーで利用可能な高速マルチプロセッシングモジュールです。Interface(CGI)に基づいています。これにより、開発者はWebサーバーの動作とは別にアプリケーションを作成できます。プログラムはプロセスを独立して実行し、このプロトコルを介して製品をWebサーバーに渡します。アプリケーションによる処理が必要な新しい接続ごとに、新しいプロセスが作成されます。Manager(PHP-FPM)を組み合わせることにより、Webサイトはより少ないリソースでより高速に読み込み、より多くの同時接続を処理できます。+`の代わりにPHP-FPMプロセスマネージャーを使用してPHPコードを処理します。前提条件このガイドを始める前に、次のものが必要です。このhttps://www.digitalocean.com/community/tutorials/how-to-install-an-apache-mysql-and-php-famp-stack-on-freebsd-12-0に従ってサーバーにインストールされたFAMPスタック[チュートリアル]。構成を変更するために、root権限を持つ(またはsudoを使用して許可される)ユーザーへのアクセス。httpd.conf`ファイルでpre-forkディレクティブを探します。HTTPのメイン構成ファイルです。HTTPがコンテンツを提供するリスニングポートや、このファイルに表示するコンテンツの場所などのディレクティブを編集および設定できます。」フラグを使用して行を数え、番号を付けて、後の段階で不一致がないようにします。+」と組み合わせることで、このコマンドは最初にパスで指定されたファイル内のすべての行をカウントし、終了したら、探している文字列を検索します。httpd.conf`の行を処理して番号を付けるようにします。+`を検索して出力を処理します。'mod_mpm_prefork'出力として、次のようなものが表示されます。libexec/apache24/mod_mpm_prefork.soテキストエディタで行を編集しましょう。/usr/local/etc/apache24/httpd.conf行の先頭に「#」記号を追加して、次のようにこの行をコメントアウトします。libexec/apache24/mod_mpm_prefork.so...「#」記号を追加すると、プリフォークMPMモジュールが無効になります。httpd.conf`ファイルにイベントディレクティブが見つかります。mpm_event次のような出力が表示されます。libexec/apache24/mod_mpm_event.so...次に、行の「#」記号を削除して、イベントMPMを有効にします。/usr/local/etc/apache24/httpd.confディレクティブは次のようになります。+`パッケージを削除できます。これは不要になり、システムに残っていると干渉するためです。mod_php73次のコマンドを実行してテストし、構成が正しいことを確認します。HTTPサーバーを再起動できます。+`モジュール接続を削除しました。HTTPを設定して、PHPとより迅速に通信できるようにします。HTTPの構成FreeBSDには、パッケージマネージャーを介してインストールできるPHPのサポートバージョンがいくつかあります。Linuxディストリビューションがデフォルトのリポジトリで提供しているようなものを使用する代わりにコンパイルされます。[PHPのサポートされているバージョンのページ]で確認できるサポートされているバージョンを使用します。この手順では、起動時に開始する実行中のサービスとしてPHP-FPMを追加します。HTTPを設定します。`ファイルに追加して、PHP-FPMサービスを開始できるようにします。+`コマンドを使用します。HTTPで使用されるように設定します。これを行うには、次のファイルを作成します。+`-ローカルマシンがプロキシサーバーであるかのように。HTTP相互接続です。これを実現するには、このステップでさらにモジュールをアクティブ化します。mod_proxy.so次のような出力が表示されます。libexec/apache24/mod_proxy.so...「#」記号を削除して、行のコメントを解除します。/usr/local/etc/apache24/httpd.conf編集後、行は次のようになります。libexec/apache24/mod_proxy.so...これで、FastCGIモジュールをアクティブにできます。次のコマンドでモジュールを見つけます。mod_proxy_fcgi.so次のようなものが表示されます。libexec/apache24/mod_proxy_fcgi.so...他のモジュールで既に行ったように、行のコメントを外します。/usr/local/etc/apache24/httpd.conf次のように行を残します。libexec/apache24/mod_proxy_fcgi.so...これが完了したら、PHP-FPMサービスを開始します。startそして、Apacheを再起動して、PHPモジュールを組み込んだ最新の構成変更をロードします。HTTPが機能するように設定し、FastCGIプロトコルが機能するために必要なモジュールを有効にして、対応するサービスを開始しました。MPMモジュールが有効になり、PHP-FPMが存在して実行されたので、すべてが意図したとおりに機能していることを確認するときが来ました。設定の変更が適用されたことを確認するために、いくつかのテストを実行します。HTTPが使用しているマルチプロセッシングモジュールをチェックします。2番目は、PHPがFPMマネージャーを使用していることを確認します。HTTPサーバーを確認します。'mpm'出力は次のようになります。(shared)プロキシモジュールとFastCGIについても同じことを繰り返すことができます。'proxy'出力には以下が表示されます。+`の後のコマンドの2番目の部分を削除できます。Managerを使用しているかどうかを確認します。そのためには、PHPに関連するすべての情報を表示する非常に小さなPHPスクリプトを作成します。次のコマンドを実行して、次の名前のファイルを作成します。/usr/local/www/apache24/data/info.phpinfo.phpファイルに次のコンテンツを追加します。