私は、多くの人と同じように、デフォルトの "LoadModule"行が多数ある比較的標準のApacheインストールを持っています。
最初から多くのソフトウェアをインストールしてきましたが、正直なところ、どのソフトウェアがどのモジュールを使用しているかはわかりません。
Apacheインスタンスのメモリフットプリントを削減したいと思います。そのために、使用されているモジュールを削除します。モジュールが使用中かどうかを判断するために知っている唯一の方法は、構成からモジュールを削除して、何かが壊れていないかどうかを確認することです。これは、私が説明する時間よりも多くの点で悪いです。
Apacheにどのモジュールが使用されたかを報告させる方法を誰かが知っているかどうか使用済み、またはモジュールが安全であるかどうかをプログラムで判断する別の方法があるかどうか知りたいn-設定。
私が行った方法は、テストサーバーを構築し、 documentation を読んで、空白のページから始めます。
次のモジュールは必須です。
次に、残りのすべてのモジュールをコメント化して、Apacheを再起動します。何かが壊れると音が鳴ります、例えば:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration
他のモジュールについても同じようにします。この方法を使用することにより、いくつかのモジュールがしばしば必要になります不要:
認証にLDAPを使用していない場合は、これを無効にすることができます。
有効にする場合は、以下のモジュールを考慮する必要があります。
以前の投稿は、何かが壊れるまでモジュールを無効にすることを提案しています。実動システムではそれは間違いなく無茶苦茶ですが、とにかく回帰テストを行う必要があるので、人は正しい道にいます。
したがって、この場合:
これがおそらく、Apache設定を合理化する最も簡単な方法です。それ以外の場合は、各モジュールを調べて機能を決定し、サイトを検索して、その機能を使用しているモジュールを確認する必要があります。それはもっと時間がかかります。
あるいは、これは何かに切り替える良い機会になるかもしれません morelightweight :
私はあなたがApacheについて質問しているのを知っていますが、システムのメモリの制約を考えると、Nginx、Lighthttpd、または他のフットプリントの小さいWebサーバーのApacheを交換する方がはるかに良いでしょう。 Apacheはモジュールのサポートに最適ですが、very Nginx、Lighthttpd、Cherokee、G-WANなどの新しいWebサーバーと比較すると、メモリを大量に消費します。
私はあなたの質問に直接答えることはできませんが、インターネット上には多くの「小さな」AMPパッケージがあり、私の知る限りでは、ほとんどのプリインストールモジュールが含まれていません。それで、私はそれらを参考例として見ることから始めます。
次の2つのリンクから始めることができます。