新しい設定シェルファイル

NGINX 1.9.11 以降、config シェルファイルが書かれなければならない方法が変わりました。古い方法とまだ互換性がありますが、もしモジュールが動的モジュールを目的とする場合は新しい方法が使われなければなりません。

モジュールを静的あるいは動的モジュールとしてコンパイルする場合、新しいフォーマットが動作します。設定ファイルは古い方法と同じくBourneシェル形式です。

新しい形式の例は以下の通りです:

ngx_module_type=HTTP
ngx_module_name=ngx_http_my_module
ngx_module_srcs="$ngx_addon_dir/ngx_http_my_module.c"

. auto/module

ngx_addon_name=$ngx_module_name

You do not need to set empty variables for things that are not required as these will be cleared for each module by the build system.

注意

. auto/module の行は新しいモジュールビルドシステムを引き起こすために必要です。

もしモジュールがNGINXの以前のバージョンと一緒に使われる場合は、古い方法と新しい方法の両方をサポートする設定ファイルを持つことが可能です。この例は静的モジュールから動的モジュールへの変換ガイドを見てください。

コンパイル

新しい設定システムを使って、モジュールは静的なコンピレーションのために--add-module=/path/to/module を、動的なコンピレーションのために--add-dynamic-module=/path/to/module を使って設定行を追加することができます。

オプション

ngx_module_type

ビルドするためのモジュールの型取り得るオプションは HTTP, CORE, HTTP_FILTER, HTTP_INIT_FILTER, HTTP_AUX_FILTER, MAIL, STREAM あるいは MISCです

ngx_module_name

モジュール名これは動的モジュールをコンパイルするためにビルドシステム内で使われます。ソースファイルの一つのセットの中で複数のモジュールのために空白で区切られた複数の値を置くことが可能で、リスト内の最初の名前は動的モジュールのための出力バイナリの名前として使われるでしょう。複雑な例を静的モジュールの動的モジュールへの変換で見てください。この中で使われている名前はmodule definition structと同じ名前でなければなりません。

ngx_module_incs

モジュールをビルドするために必要なインクルードパス。

ngx_module_deps

モジュールの一部であるビルドで必要とされる.h ファイルのリスト

ngx_module_srcs

空白で区切られたソースファイルのリストがモジュールをコンパイルするために使われます。$ngx_addon_dir 変数がモジュールソースのパスのためのプレースフォルダーとして使うことができます。

ngx_module_libs

モジュールとリンクするライブラリのリスト。例えば、libpthread はngx_module_libs=-lpthreadを使ってリンクされるかも知れません。The following macros can be used to link against the same libraries as NGINX: LIBXSLT, LIBGD, GEOIP, PCRE, OPENSSL, MD5, SHA1, ZLIB and PERL.

ngx_addon_name

configureスクリプトのコンソール出力テキストの中でモジュールの名前を提供します

これはビルドシステムによって動的モジュールについてはDYNAMIC、あるいは静的モジュールについては ADDON に設定されます。頻繁には使われませんが、異なるコンパイルモードのために何か異なることを起こす必要がある場合には便利かも知れません。この変数の値は標準if を使ってシェルスクリプトで使われるようにテストすることができます。

ngx_module_order

モジュールについてのロード順を設定し、HTTP_FILTER および HTTP_AUX_FILTER モジュールの種類について便利です。

順番は逆順で格納されます。ngx_http_copy_filter_module はリストの一番下近くにあり、最初に実行されるものの一つです。これは他のフィルタのためにデータを読み込みます。リストの一番上近くには データを書き出すngx_http_write_filter_moduleがあり、そして最後に実行されるものの一つです。

このオプションのための形式は、前に挿入するための空白区切りのモジュールのリストが続く現在のモジュール名で、従って後で実行します。モジュールは現在ロードするために見つけられるリスト内の最後のモジュールの前に挿入されるでしょう。

By default for filter modules this is set to "$ngx_module_name ngx_http_copy_filter" which will insert the module before the copy filter in the list and therefore will execute after the copy filter. デフォルトが空である他のモジュールの型について。

TOP
inserted by FC2 system