Accept cookies for analytics, social media, and advertising, or learn more and adjust your preferences. These cookies are on by default for visitors outside the UK and EEA. Privacy Notice.
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
ビルド システムによって各モジュールでクリアされるため、必須では無いものに空の変数を設定する必要はありません。
注意
. 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
を使ってリンクされるかも知れません。以下のマクロはNGINXとして同じライブラリをリンクするために使うことができます: LIBXSLT
, LIBGD
, GEOIP
, PCRE
, OPENSSL
, MD5
, SHA1
, ZLIB
および PERL
。
ngx_addon_name
¶configure
スクリプトのコンソール出力テキストの中でモジュールの名前を提供します
ngx_module_link
¶これはビルドシステムによって動的モジュールについてはDYNAMIC
、あるいは静的モジュールについては ADDON
に設定されます。頻繁には使われませんが、異なるコンパイルモードのために何か異なることを起こす必要がある場合には便利かも知れません。この変数の値は標準if
を使ってシェルスクリプトで使われるようにテストすることができます。
ngx_module_order
¶モジュールについてのロード順を設定し、HTTP_FILTER
および HTTP_AUX_FILTER
モジュールの種類について便利です。
順番は逆順で格納されます。ngx_http_copy_filter_module
はリストの一番下近くにあり、最初に実行されるものの一つです。これは他のフィルタのためにデータを読み込みます。リストの一番上近くには データを書き出すngx_http_write_filter_module
があり、そして最後に実行されるものの一つです。
このオプションのための形式は、前に挿入するための空白区切りのモジュールのリストが続く現在のモジュール名で、従って後で実行します。モジュールは現在ロードするために見つけられるリスト内の最後のモジュールの前に挿入されるでしょう。
フィルタモジュールのデフォルトでは、これは "$ngx_module_name ngx_http_copy_filter"
に設定され、リスト内のコピーフィルタの前にモジュールが挿入され、コピーフィルタの後に実行します。デフォルトが空である他のモジュールの型について。