Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> apacheのプリフォークモードとワーカーモードを切り替える方法

apacheのプリフォークモードとワーカーモードを切り替える方法

  

Apache HTTPサーバーは、複数のプラットフォームや異なる環境で動作することができる強力で柔軟なサーバーになるように設計されています。プラットフォームや環境が異なればニーズも異なる場合があります。または、同じ最良の結果を得るために異なるアプローチが使用される場合があります。 Apacheは、そのモジュール設計により、さまざまな環境に非常に適しています。この設計により、Webマスターはコンパイル時および実行時に異なるモジュールをロードすることによって、サーバーのさまざまな追加機能を判断できます。

Apache 2.0では、このモジュール設計をWebサーバーの基本機能にまで拡張しています。このバージョンには、ネットワークポートバインディングを処理し、要求を受け入れ、これらの要求を処理するために子プロセスを割り当てるためのマルチプロセッシングモジュール(MPM)オプションが付属しています。たとえば、スケーラビリティを向上させる必要がある場合は、ワーカーやイベントのようなスレッド化されたMPMを選択できます。また、preforkを使用できる古いソフトウェアに適応するための安定性と互換性も向上します。

Redhat Linux as4のメインバージョンでは、apacheのバージョンはhttpd-2.0.5xです。デフォルトは主に安定性の理由からpreforkモードです。ワーカーモードに切り替えるには、次のようにしてlinuxにログインする必要があります。

/usr /sbinディレクトリに入るcd /usr /sbin

現在のプリフォークモードの起動ファイルの名前をmv httpdに変更します。 Httpd.prefork

ワーカーモードの起動ファイルの名前をmvに変更します。httpd.worker httpd

設定ファイルvi /etc/httpd/conf/httpd.confを変更して、内部の以下のセクションを適切に変更できるようにします。 loadなどのパラメータ:< IfModule worker.c> StartServers 2MaxClients 150MinSpareThreads 25MaxSpareThreads 75ThreadsPerChild 25MaxRequestsPerChild 0< /IfModule>

サービスを再起動します/etc/init.d/httpd restartワーカーモードでapache2が起動します。

ここでエラーが発生する可能性があることに注意してください。

ApacheはスレッドMPMを実行していますが、あなたの PHP
モジュールはスレッドセーフではありません。 PHPを再コンパイルするには事前設定に失敗しました!解決策は、/etc /httpd /conf.d /php.confファイルのLoadModuleで始まるコード行をコメントアウトすることです。 --------------------------

注意:安定性とセキュリティの観点から、apache2の動作モードを変更することはお勧めできません。システムのデフォルトのpreforkを使用すると、他の多くのphpモジュールがワーカーモードで動作できなくなる可能性があります。例えば、Linuxにはphpでスレッドセキュリティがサポートされないため、動作モードを切り替えないことが最善です。 ====================================================== /init.d/httpd stop [root @ web〜]#which apachectl /usr /sbin /apachectl [root @ web〜]#どのhttpd /usr /sbin /httpd [root @ web〜]#cd /usr /sbin /[root @ web〜]#mv httpd httpd.prefork#mv httpd.worker httpd#httpd -k start

Copyright © Windowsの知識 All Rights Reserved