
No.3ベストアンサー
- 回答日時:
> そこでひとつ確認しておきたいのですが、
> ./configure --enable-so --enable-mods-shared="most"又は"all"
> で最初に動的にモジュールを一気に入れてしまって、
> 必要に応じてhttpd.confを編集し直すというやり方でも
> 問題ないでしょうか?
問題ないです。ただし、依存性のあるモジュールに注意して設定を行うことに注意を払うようにしてください。
これさえ忘れなければ、それが現在のところ一番簡単な設定方法になっています。
一例をあげれば、mod_limitIPconnは、mod_Statusに依存しています。
再度、回答ありがとうございます。
依存関係を注意しながらこの方法でやっていきたいと思います。
設定が難しそうですがmod_limitIPconはアクセス制御をする時に役立ちそうですね。
いずれチャレンジしてみようと思います。
この度は色々とありがとうございました。
No.2
- 回答日時:
「動的」「静的」ということそのものの意味は#1の方のご説明のとおりです
では、apacheの場合どうすれば静的に組み込めるのかというと、configure(コンパイル前の設定コマンドです)時に--enable_module=soとしたら、mod_soが静的に組み込まれます。
すなわち、コンパイル時に組み込むことを「静的に組み込む」と言います。
これに対して、起動時に呼び出すよう設定することを「動的に組み込む」といいます。
apacheでは、mod_soが「動的な」組み込みをサポートしているため、mod_soがなければ「動的な」組み込みはできません。だから、mod_soはコンパイル時に「静的に」組み込む必要があるわけです。
また、apacheにおける動的組み込みと静的組み込みの間での動作の差はほとんどありません。
apacheは、常時動作するデーモンプログラムとして設計されているので、機能が必要になるかどうかに関係なく、httpd.confでLoadModule指定されていると必ず読み込まれます。したがって、メモリの節約にはなりませんし、起動時間も結果としてほぼ同じになってしまいます。
では、どう違うのかというと、動的に組み込んでいると、必要がなくなればhttpd.confを編集して再起動するだけでhttpdをコンパイルしなおさなくても、動作を変更できるという点がもっとも違います。
また、この点が動的組み込みの最大の利点となります。
この回答への補足
回答ありがとうございます
Apacheにおける「静的」「動的」のしくみについてよく理解できました。
今まで静的にモジュールを組み込んでいたせいで新たにモジュールを組み込む時はいつも再コンパイルいていたのでかなり面倒でした。
そこでひとつ確認しておきたいのですが、
./configure --enable-so --enable-mods-shared="most"又は"all"
で最初に動的にモジュールを一気に入れてしまって、必要に応じてhttpd.confを編集し直すというやり方でも問題ないでしょうか?
No.1
- 回答日時:
ご質問事項へ回答します。
『静的』と『動的』の違いですが、モジュールがメモリ上に展開される
タイミングの違いを表しています。
まず『静的』モジュールついてですが、メインプログラムがメモリに展開される時に
一緒に展開され、メインプログラムが終了するまで展開され続ける方式です。
常にメモリ上に展開されている為、動作速度の向上が望めますが、その分メモリを
消費します。
次に『動的』モジュールですが、普段はメモリ上には展開せず、機能が必要になった場合
にメインプログラムから適宜呼び出し、必要なくなれば切り離す方式です。
メモリの消費を最小限に抑えられますが、呼び込み作業が必要な為、動作速度は
あまり期待出来ません。
如何でしょうか?
上記『静的/動的モジュール』については、Apache固有の機能と言うわけではなく、
プログラミング全般に関わるものですので、以下のサイト等を参考にしてみて下さい。
参考URL:http://docs.sun.com/source/806-4837/Building.html
回答ありがとうございます。
「静的」「動的」の違いよく解りました。
Apacheだけではなくプログラミング全般に言えることだったのですね。
紹介していただいたサイトもこれからの勉強にも大いに参考になりそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel2016】結合されたセルを...
-
Perlのモジュールについて
-
グラフのX,Y座標を取得したい
-
Excel VBAでリンク切れをチェッ...
-
EXECEL VBA コマンドボタンか...
-
モジュールの最大数はいくつな...
-
VBのフォームモジュールと標準...
-
シャープ製品JH-WB1821 と BCG...
-
ユーザー定義関数に#NAME?が返...
-
クリアーとデリート
-
VBAのバージョン管理
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
ユーザーフォームに最小化・最...
-
標準モジュールを削除したい。(...
-
Excel VBA 標準モジュール内で...
-
「デバイスは PRN を初期化でき...
-
例外処理のフローチャートの記...
-
VBScriptのデバッグ方法につい...
-
tex についての質問です このコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
Application.OnKey:項目入力中...
-
Excel VBAで、ユーザーフォーム...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
VBA This Workbookモジュール...
-
ユーザー定義関数に#NAME?が返...
-
VBAで旧字体を異字体に一括で変...
-
モジュールとクラスの違いって...
-
Sub Workbook_Open()でユーザー...
-
acwzlibとは?
-
標準モジュールを削除したい。(...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
【Excel VBA】標準モジュールに...
-
vba userFormのSubを標準モジュ...
-
【vba】フォームに書いてあ...
-
VBAで別モジュールへの変数の受...
-
マクロについて教えてください。
おすすめ情報