2017-08-11 9 views
1

実行時に、または起動時にApacheのモジュールが読み込まれるメカニズムはありますか?そのプロセスでプロセス間通信などのメカニズムが使用されていますか? apacheは、モジュール内でメソッドをアクティブに呼び出すか、モジュール自体はapacheメソッドを呼び出すか、あるいはその両方を呼び出します。apache 2.2のモジュールはどのように動作していますか

例えば、apacheへのリクエストコミットとmod_spnego(kerberos認証)がロードされています。モジュールコードのmain関数をいつ呼び出すべきか、apacheはどのように知っていますか? ApacheとそのモジュールはCで書かれている

答えて

0

モジュールは、共有オブジェクトファイル(Unixでは、.dll.so Windows上またはDynamic Shared Object Sなど)から、起動時にロードされます。 Apache HTTPDをビルドするときには、モジュールをバイナリのhttpdに静的にコンパイルすることもできます。両方とも、同じプロセスから作業します。

Apacheはモジュール機能でメイン関数を呼び出すタイミングをどのように知っていますか?

これらの記事を見て、何について述べられているかを見てください。フック

  • のApache 2.2、Converting Modules from Apache 1.3 to Apache 2.0

    新しいアーキテクチャは あなたの関数を呼び出すために提供するために、一連のフックを使用しています。これらは、 新しい機能static void register_hooks(void)を使用してモジュールに追加する必要があります。機能は実際には は、実行する必要があることを理解すると合理的に簡単です。 リクエストの処理で何らかの段階で呼び出しが必要な各関数を登録する必要がありますが、ハンドラは登録しないでください。

  • Developing modules for the Apache HTTP Server 2.4

    Apache HTTPサーバ2.4で要求を処理するとき、あなた を行う必要がありますまず最初に、要求処理プロセスにフックを作成することです。 フックは本質的には クライアントによって指定された特定の要求にサービスを提供するか、少なくとも少なくとも視線を取り入れる意思があることをサーバーに伝えるメッセージです。 mod_rewrite、mod_authn_ *、 、mod_proxyなどのすべてのハンドラは、リクエスト プロセスの特定の部分にフックされます。ご存知のように、モジュールはさまざまな目的を果たします。 一部は認証/承認ハンドラであり、その他はファイルまたは スクリプトハンドラです.3番目のモジュールの中にはURIまたはプロキシを書き換えるものもあります。 コンテンツ。

関連する問題