検索
ホームページ運用・保守ApacheMOD_PHPまたはPHP-FPMを使用してPHPで動作するようにApacheを構成するにはどうすればよいですか?

mod_phpまたはphp-fpmを使用してPHPで動作するようにApacheを構成する

ApacheをPHPで動作するように構成するには、 mod_phpとPHP-FPM(FastCGI Process Manager)の2つの主要な方法から選択することが含まれます。 mod_php PHPをモジュールとしてApacheに直接統合し、PHP-FPMはFastCGIインターフェイスを介してApacheと通信する別のプロセスマネージャーとして実行されます。

MOD_PHPの使用:これはよりシンプルなアプローチであり、設定が少なくなる必要があります。 PHPをインストールした後、Apacheモジュールmod_phpが有効になっていることを確認してください。これには、通常、インストール後にApacheを再起動するか、システムのパッケージマネージャーを使用してモジュールを明示的に有効にすることが含まれます(たとえば、 7.4がPHPバージョンを表すDebian/Ubuntuシステムのa2enmod php7.4 )。 Apacheは、 .php拡張機能を備えたファイルのPHP処理を自動的に処理します。通常、それ以上の構成は必要ありませんが、特定の設定に対してphp.iniファイルを調整する必要がある場合があります。

PHP-FPMの使用:この方法は、特に重い負荷の下で、より良いパフォーマンスとリソース管理を提供します。まず、PHP-FPMをインストールします。次に、FastCGIクライアントとして機能するようにApacheを構成する必要があります。これには、Apache構成ファイル内に構成ブロックを追加することが含まれます(通常、システムに応じて/etc/apache2/sites-available/000-default.confにあります)。このブロックには、通常、PHPファイルの場所を指定し、 proxy_passディレクティブを使用してPHP-FPMソケットにリクエストを転送する<location></location>または<directory></directory>ディレクティブが含まれます。典型的な構成は次のようになるかもしれません:

 <code class="apache"><directory> Options Indexes FollowSymLinks AllowOverride All Require all granted <filesmatch> SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost" </filesmatch> </directory></code>

/run/php/php7.4-fpm.sock PHP-FPMソケットへの実際のパスで置き換え、 Directoryディレクティブを調整してWebルートを指すようにしてください。 Apacheを構成した後、変更が有効になるように再起動します。 PHP-FPMはすでに実行中です。そうでない場合は、システムのinitシステムを使用して起動します(たとえば、 systemctl start php7.4-fpm )。

PHP-FPMとPHP-FPMの利点と短所

mod_php:

利点:

  • シンプルさ:セットアップと構成が簡単です。
  • オーバーヘッドの減少:プロセス間の通信オーバーヘッドはありません。

短所:

  • パフォーマンス: PHPの実行を直接処理するため、重い負荷の下で遅くなる可能性があります。
  • リソースの使用:各ApacheプロセスはPHPリソースを消費し、メモリ消費量の増加につながります。
  • 安定性が低い:単一のPHPスクリプトのクラッシュは、Apacheプロセス全体に潜在的に影響する可能性があります。

php-fpm:

利点:

  • パフォーマンス:重い負荷の下では大幅に高速で効率的です。
  • リソース管理:プロセスプーリングを通じて、より良いリソース利用と管理。
  • 安定性:単一のPHPスクリプトでのクラッシュは、Webサーバー全体に影響しません。
  • スケーラビリティ: PHP-FPMワーカーを追加することで、水平方向に簡単にスケーリングできます。

短所:

  • 複雑さ:より多くの構成とセットアップが必要です。
  • オーバーヘッド:プロセス間の通信オーバーヘッドを導入します(ただし、パフォーマンスの向上と比較して最小限です)。

PHPをApacheと統合するときの一般的なエラーのトラブルシューティング

トラブルシューティングの問題は、 mod_php使用しているのかphp-fpmを使用しているかによって異なります。

mod_php:

  • 「内部サーバーエラー」:特定のエラーメッセージについては、Apacheエラーログ( error.log )を確認します。一般的な原因には、PHPコードの構文エラー、PHP拡張機能の欠落、または許可の問題が含まれます。
  • 空白ページ: PHPが正しくインストールされ、 mod_phpモジュールが有効になっていることを確認してください。 PHPファイルのファイル許可を確認します。
  • 出力が正しくありません:エラーについては、PHPコードを確認してください。構成の問題については、 php.iniファイルを調べます。

php-fpm:

  • 「502 Bad Gateway」:これは、ApacheがPHP-FPMに接続できなかったことを示しています。 php-fpmが実行されているかどうかを確認してください。 Apache構成のソケットパスを確認します。ユーザーApacheがソケットにアクセスするための適切なアクセス許可を持っていることを確認してください。
  • 「内部サーバーエラー」: PHP-FPMエラーログ(通常は/var/log/php-fpm/error.logにあるか、同様のパスにあります)を確認します。このログは、より詳細なエラーメッセージを提供します。
  • 応答時間の遅い時間: PHP-FPMプール設定(ワーカープロセスの数など)を調整して、ワークロードのパフォーマンスを最適化します。

ApacheにPHPサポートをインストールおよび有効にします

インストールと有効化プロセスは、オペレーティングシステムとパッケージマネージャーによって異なります。

mod_phpを使用:

  1. PHPをインストール:システムのパッケージマネージャーを使用します(例: apt-get install php7.4 libapache2-mod-php7.4にDebian/Ubuntu)。
  2. モジュールを有効にする:システムのパッケージマネージャーを使用して、 mod_phpモジュールを有効にします(たとえば、 a2enmod php7.4 )。
  3. Apacheを再起動します:変更を有効にするためにApacheを再起動します(例、 systemctl restart apache2 )。

PHP-FPMの使用:

  1. PHPとPHP-FPMのインストール:システムのパッケージマネージャーを使用してください(たとえば、 apt-get install php7.4 php7.4-fpm )。
  2. Apacheの構成:最初のセクションで説明されているように、必要な<location></location>または<directory></directory>ブロックをApache構成ファイルに追加します。
  3. PHP-FPMを開始: PHP-FPMサービスを開始します(例: systemctl start php7.4-fpm )。
  4. Apacheを再起動:変更が有効になるためにApacheを再起動します。

7.4実際のPHPバージョンに置き換えることを忘れないでください。最も正確で最新の指示については、常に配布のドキュメントを参照してください。

以上がMOD_PHPまたはPHP-FPMを使用してPHPで動作するようにApacheを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Apacheを定義したものは何ですか?そのコア機能Apacheを定義したものは何ですか?そのコア機能May 09, 2025 am 12:21 AM

Apacheのコア機能はモジュラー設計と高いカスタマイズであり、さまざまなWebサービスのニーズを満たすことができます。 1。モジュラー設計により、さまざまなモジュールをロードすることにより、拡張機能が可能になります。 2。複数のオペレーティングシステムをサポートし、さまざまな環境に適しています。 3.マルチプロセス、マルチスレッド、イベント駆動型モデルはパフォーマンスを改善します。 4.基本的な使用法には、仮想ホストとドキュメントルートディレクトリの構成が含まれます。 5.高度な使用には、URLの書き換え、負荷分散、逆プロキシが含まれます。 6.一般的なエラーは、構文チェックとログ分析を介してデバッグできます。 7.パフォーマンスの最適化には、MPM設定の調整とキャッシュの有効化が含まれます。

Apacheの継続的な使用:Webホスティングおよびそれ以降Apacheの継続的な使用:Webホスティングおよびそれ以降May 08, 2025 am 12:15 AM

Apacheを最新のWeb環境でまだ人気があるのは、その強力な機能と柔軟性です。 1)モジュラー設計により、セキュリティ認証や負荷分散などのカスタム関数が可能になります。 2)複数のオペレーティングシステムをサポートして、人気を高めます。 3)さまざまなアプリケーションシナリオに適した、同時リクエストを効率的に処理します。

Apache:オープンソースから業界標準までApache:オープンソースから業界標準までMay 07, 2025 am 12:05 AM

Apacheがオープンソースプロジェクトから業界標準に発展した理由には、次のものがあります。1)コミュニティ主導のグローバル開発者が参加するように誘導します。 2)インターネット標準に準拠した標準化と互換性。 3)ビジネスサポートとエコシステム、およびエンタープライズレベルの市場サポートの取得。

Apacheの遺産:Webホスティングへの影響Apacheの遺産:Webホスティングへの影響May 06, 2025 am 12:03 AM

ApacheのWebHostingへの影響は、主にオープンソースの機能、強力な機能、柔軟性に反映されています。 1)オープンソースの機能WebHostingのしきい値が低い。 2)強力な機能と柔軟性により、大規模なWebサイトや企業にとって最初の選択肢になります。 3)仮想ホスト関数はコストを節約します。パフォーマンスは高い並行性条件で低下する可能性がありますが、Apacheは継続的な最適化を通じて競争力を維持し続けています。

Apache:Webへの歴史と貢献Apache:Webへの歴史と貢献May 05, 2025 am 12:14 AM

もともと1995年に生まれたApacheは、NCSAHTTPDサーバーを改善し、世界で最も広く使用されているWebサーバーになるために開発者グループによって作成されました。 1。1995年に発信され、NCSAHTTPDサーバーの改善を目指しています。 2。Webサーバーの標準を定義し、オープンソースの動きの開発を促進します。 3. TomcatやKafkaなどの重要なサブプロジェクトを育てました。 4.クラウドコンピューティングとコンテナテクノロジーの課題に直面して、将来のクラウドネイティブテクノロジーとの統合に焦点を当てます。

Apacheの影響:インターネットの形成Apacheの影響:インターネットの形成May 04, 2025 am 12:05 AM

Apacheは、安定したWebサーバーインフラストラクチャを提供し、オープンソース文化を促進し、重要なプロジェクトをインキュベートすることにより、インターネットを形作りました。 1)Apacheは、安定したWebサーバーインフラストラクチャを提供し、Webテクノロジーのイノベーションを促進します。 2)Apacheはオープンソース文化の開発を促進し、ASFはHadoopやKafkaなどの重要なプロジェクトをインキュベートしました。 3)パフォーマンスの課題にもかかわらず、Apacheの将来はまだ希望に満ちており、ASFは新しいテクノロジーを立ち上げ続けています。

Apacheの遺産:Webサーバーへの影響を見るApacheの遺産:Webサーバーへの影響を見るMay 03, 2025 am 12:03 AM

1995年にボランティアによる作成以来、ApachehttpserverはWebサーバーフィールドに大きな影響を与えてきました。 1. NCSAHTTPDへの不満から生じ、より安定した信頼性の高いサービスを提供します。 2。Apache Software Foundationの設立は、その変革を生態系に示します。 3.そのモジュラー設計とセキュリティは、Webサーバーの柔軟性とセキュリティを強化します。 4.市場シェアの減少にもかかわらず、Apacheは依然として最新のWebテクノロジーと密接に関連しています。 5。構成の最適化とキャッシュを通じて、Apacheはパフォーマンスを向上させます。 6.エラーログとデバッグモードは、一般的な問題を解決するのに役立ちます。

Apacheの目的:Webコンテンツの提供Apacheの目的:Webコンテンツの提供May 02, 2025 am 12:23 AM

Apachehttpserverは、モジュラー設計、仮想ホスティング機能、パフォーマンスの最適化を通じて、最新のインターネット環境でWebコンテンツを効率的に提供し続けています。 1)モジュラー設計により、URL書き換えなどの関数を追加してWebサイトSEOのパフォーマンスを改善できます。 2)仮想ホスティング機能は、1つのサーバーで複数のWebサイトをホストし、コストを節約し、管理を簡素化します。 3)マルチスレッドとキャッシュの最適化により、Apacheは多数の同時接続を処理し、応答速度とユーザーエクスペリエンスを改善できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。