Apacheは無料で、オープンソースであり、最も広く使用されているWebサーバーです。これは、主に、さまざまな環境で動作できるためです。 Apacheには、リクエストの処理、ソケットのオープン、新しいイベントの処理など、HTTPプロトコルリクエストを処理するためのさまざまなプロセスを管理する機能があります。
これらのタスクは、Apache Multi-Processing Module(MPM)によって実行されます。
Apache MPM(マルチプロセッシングモジュール)は、Apacheで子プロセスを作成するために使用されるApacheモジュールです。一部の処理作業をリスナースレッドに渡し、ワーカースレッドを解放して新しいリクエストを処理することにより、より多くのリクエストを同時に処理できるようにします。 Apache WebサーバーでMPMイベントとともにPHP-FPMを使用すると、Webサイトページの読み込み時間が短縮され、Webサーバーがより多くの同時接続を処理できるようになります。
このチュートリアルでは、Ubuntu20.04でMPMイベントとPHP-FPMを使用してApacheを構成する方法を学習します。
- Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04VPS
- サーバーで構成されているrootパスワード
まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
まず、次のコマンドを使用して、Apache Webサーバー、MariaDB、およびPHPをインストールします。
apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 -y
LAMPサーバーをインストールしたら、次の手順に進むことができます。
開始する前に、MPMをプレフォークからイベントに切り替え、PHPとApache間のphp7.4モジュール接続を削除する必要があります。
まず、Apacheサービスを停止し、次のコマンドでphp7.4モジュールを無効にします。
systemctl stop apache2 a2dismod php7.4
次に、次のコマンドを使用してPre-forkMPMモジュールを無効にします。
a2dismod mpm_prefork
次に、次のコマンドを使用してイベントMPMモジュールを有効にします。
a2enmod mpm_event
終了したら、次のステップに進むことができます。
ステップ4–FastCGIプロセスマネージャーを使用するようにApacheを設定する
このセクションでは、ApacheがPHPと通信できるように、PHP-FPMプロセッサとプロキシモジュールをインストールします。
まず、次のコマンドを使用してPHP-FPMをインストールします。
apt-get install php7.4-fpm -y
インストールしたら、ApacheとPHPを通信するためにlibapache2-mod-fcgidライブラリをインストールする必要があります。
次のコマンドでインストールできます:
apt-get install libapache2-mod-fcgid -y
インストールしたら、Apache WebサーバーでPHP-FPM、プロキシ、およびFastCGIプロキシモジュールを有効にする必要があります。
次のコマンドで有効にできます:
a2enconf php7.4-fpm a2enmod proxy a2enmod proxy_fcgi
次に、Apacheサービスを再起動して、変更を適用します。
systemctl restart apache2
次に、次のコマンドを使用してMPMモジュールを確認します。
apachectl -M | grep 'mpm'
次の出力が得られるはずです:
mpm_event_module (shared)
次に、次のコマンドを使用して、プロキシおよびFastCGIプロキシモジュールを確認します。
apachectl -M | grep 'proxy'
次の出力が得られるはずです:
proxy_module (shared) proxy_fcgi_module (shared)
この時点で、ApacheWebサーバーはFastCGIProcessManagerを使用するように構成されています。 PHPがFastCGIProcessManagerを使用しているかどうかを確認するときが来ました。
まず、Apacheドキュメントのルートディレクトリ内にinfo.phpファイルを作成します。
nano /var/www/html/info.php
次の行を追加します:
<?php phpinfo(); ?>
終了したら、ファイルを保存して閉じます。
次に、Webブラウザーを開き、URLhttp://your-server-ip/info.phpを入力します。次の画面が表示されます。
上記のページでは、ApacheWebサーバーがFPM/FastCGIを使用していることがわかります。
上記のガイドでは、Ubuntu20.04でMPMイベントとPHP-FPMを使用してApacheを構成する方法を学習しました。これで、PHP-FPMがPHPコードを処理し、全体的なリソース使用率を向上させます。 Atlantic.NetのVPSホスティングアカウントで試してみてください!