前頁で説明したnginxをソースファイルからインストールする手順において、 ./configureを実施しました。
nginxの./configureで指定できるオプションについて説明します。
英語が苦手で無い方は、解凍したnginx-1.12.0のディレクトリ配下で./configure --helpで確認して下さい。
多くのオプションがモジュール一覧に定義されたモジュールの有効・無効を決めるオプションです。
モジュール一覧を確認して、モジュールの機能を確認した上オプションを決めて下さい。
オプション | 説明 |
---|---|
--help | ./configure で指定できるオプションを表示します。(英語) |
--prefix=PATH | nginxのインストール先のパス 例) --prefix=/usr/local/nginx デフォルト値(未指定時):/usr/local/nginx |
--sbin-path=PATH | nginx本体のフルパス 例) --prefix=/usr/local/nginx/sbin/nginx デフォルト値(未指定時): prefix/sbin/nginx |
--modules-path=PATH | 動的モジュール(Dynamic Modules)をインストールするパス 例) --prefix=/usr/local/nginx/modules デフォルト値(未指定時): prefix/modules |
--conf-path=PATH | nginxの設定ファイル(nginx.confなど)を格納するパス 例) --prefix=/etc/nginx/conf デフォルト値(未指定時): prefix/conf |
--error-log-path=PATH | nginxのエラーログのフルパス 例) --prefix=/var/log/nginx/error.log デフォルト値(未指定時): prefix/logs/error.log |
--pid-path=PATH | nginx.pid(nginx実行時のプロセスIDファイル)のフルパス 例) --prefix=/var/run/nginx/nginx.pid デフォルト値(未指定時): prefix/logs/nginx.pid |
--user=USER | workプロセスを実行するシステムアカウント ngnix.confのmainコンテキストであるuserディレクティブで指定可能です。 例) --prefix=ngnix デフォルト値(未指定時): nobody |
--group=GROUP | workプロセスを実行するグループ ngnix.confのmainコンテキストであるuserディレクティブで指定可能です。 例) --prefix=ngnix デフォルト値(未指定時): nobody |
--build=NAME | オプションのnginxビルド名を設定します。 |
--builddir=DIR | ビルドディレクトリを指定します。 |
--with[--without]-select_module | workプロセスのコネクションの接続方式をselectにします。 --withoutの場合には、コネクションの接続方式selectを無効にします。 コネクション接続方式は、特定の理由が無い限り、未指定にします。(筆者主観) nginx.confのuseディレクティブのマニュアルにあるように、 nginxがOSに適した接続方式を選択します。 |
--with[--without]-poll_module | workプロセスのコネクションの接続方式をpollにします。 --withoutの場合には、コネクションの接続方式pollを無効にします。 コネクション接続方式は、特定の理由が無い限り、未指定にします。(筆者主観) nginx.confのuseディレクティブのマニュアルにあるように、 nginxがOSに適した接続方式を選択します。 |
--with-threads | workプロセスのコネクションにスレッドプール方式を利用できるようになります。 nginx.confのaioディレクティブに関連します。 |
--with-file-aio | ファイルAIOを有効にします。 nginx.confのaioディレクティブに関連します。 |
--with-http_ssl_module | ngx_http_ssl_moduleを有効にします。 httpsを利用する場合には、--with-openssl=PATHと合わせて指定します。 |
--with-http_v2_module | ngx_http_v2_moduleを有効にします。 HTTP/2を利用する場合に指定します。 |
--with-http_realip_module | ngx_http_realip_moduleを有効にします。 |
--with-http_addition_module | ngx_http_addition_moduleを有効にします。 |
--with-http_xslt_module | ngx_http_xslt_moduleを有効にします。 事前にlibxml2とlibxsltのライブラリをインストールする必要があります。 |
--with-http_xslt_module=dynamic | 動的モジュールのngx_http_xslt_moduleを有効にします。 |
--with-http_image_filter_module | ngx_http_image_filter_moduleを有効にします。 事前にGD(libgd-dev)ライブラリのインストールが必要です。 |
--with-http_geoip_module | ngx_http_geoip_moduleを有効にします。 事前にGeoIP(libgeoip-dev)ライブラリのインストールが必要です。 |
--with-http_geoip_module=dynamic | 動的モジュールのngx_http_geoip_moduleを有効にします。 |
--with-http_sub_module | ngx_http_sub_moduleを有効にします。 |
--with-http_dav_module | ngx_http_dav_moduleを有効にします。 |
--with-http_flv_module | ngx_http_flv_moduleを有効にします。 |
--with-http_mp4_module | ngx_http_mp4_moduleを有効にします。 |
--with-http_gunzip_module | ngx_http_gunzip_moduleを有効にします。 |
--with-http_gzip_static_module | ngx_http_gzip_static_moduleを有効にします。 |
--with-http_auth_request_module | ngx_http_auth_request_moduleを有効にします。 |
--with-http_random_index_module | ngx_http_random_index_moduleを有効にします。 |
--with-http_secure_link_module | ngx_http_secure_link_moduleを有効にします。 |
--with-http_degradation_module | ngx_http_degradation_moduleを有効にします。 |
--with-http_slice_module | ngx_http_slice_moduleを有効にします。 |
--with-http_stub_status_module | ngx_http_stub_status_moduleを有効にします。 |
--without-http_charset_module | ngx_http_charset_moduleを無効にします。 |
--without-http_charset_module | ngx_http_charset_moduleを無効にします。 |
--without-http_gzip_module | ngx_http_gzip_moduleを無効にします。 |
--without-http_ssi_module | ngx_http_ssi_moduleを無効にします。 |
--without-http_userid_module | ngx_http_userid_moduleを無効にします。 |
--without-http_access_module | ngx_http_access_moduleを無効にします。 |
--without-http_auth_basic_module | ngx_http_auth_basic_moduleを無効にします。 |
--without-http_autoindex_module | ngx_http_autoindex_moduleを無効にします。 |
--without-http_geo_module | ngx_http_geo_moduleを無効にします。 |
--without-http_map_module | ngx_http_map_moduleを無効にします。 |
--without-http_split_clients_module | ngx_http_split_clients_moduleを無効にします。 |
--without-http_referer_module | ngx_http_referer_moduleを無効にします。 |
--without-http_rewrite_module | ngx_http_rewrite_moduleを無効にします。 |
--without-http_proxy_module | ngx_http_proxy_moduleを無効にします。 |
--without-http_fastcgi_module | ngx_http_fastcgi_moduleを無効にします。 |
--without-http_uwsgi_module | ngx_http_uwsgi_moduleを無効にします。 |
--without-http_scgi_module | ngx_http_scgi_moduleを無効にします。 |
--without-http_memcached_module | ngx_http_memcached_moduleを無効にします。 |
--without-http_limit_conn_module | ngx_http_limit_conn_moduleを無効にします。 |
--without-http_limit_req_module | ngx_http_limit_req_moduleを無効にします。 |
--without-http_empty_gif_module | ngx_http_empty_gif_moduleを無効にします。 |
--without-http_empty_gif_module | ngx_http_browser_moduleを無効にします。 |
--without-http_browser_module | ngx_http_browser_moduleを無効にします。 |
--without-http_upstream_hash_module | ngx_http_upstream_hash_moduleを無効にします。 |
--without-http_upstream_ip_hash_module | ngx_http_upstream_ip_hash_moduleを無効にします。 |
--without-http_upstream_least_conn_module | ngx_http_upstream_least_conn_moduleを無効にします。 |
--without-http_upstream_keepalive_module | ngx_http_upstream_keepalive_moduleを無効にします。 |
--without-http_upstream_zone_module | ngx_http_upstream_zone_moduleを無効にします。 |
--with-http_perl_module | ngx_http_perl_moduleを有効にします。 |
--with-http_perl_module=dynamic | 動的モジュールのngx_http_perl_moduleを有効にします。 |
--with-perl_modules_path=PATH | Perlモジュールのパスを設定します。 |
--with-perl=PATH | Perl本体(バイナリー)のフルパス |
--http-log-path=PATH | HTTPアクセスログをを設定します。 ngx_http_log_moduleのaccessディレクティブをnginx.confで指定することで実行できるため、 インストール時のオプションで明示する必要性は低いです。(筆者主観) |
--http-client-body-temp-path=PATH | Httpクライアントのリクエストボディの一時ファイルを格納するパスを設定します。 例)--http-client-body-temp-path=/var/lib/nginx/body デフォルト値(未指定時):prefix/client_body_temp |
--http-proxy-temp-path=PATH | proxy機能で利用する一時ファイルを格納するパスを設定します。 例)--http-proxy-temp-path=/var/lib/nginx/proxy デフォルト値(未指定時):prefix/proxy_temp |
--http-fastcgi-temp-path=PATH | fastcgi機能で利用する一時ファイルを格納するパスを設定します。 例)--http-fastcgi-temp-path=/var/lib/nginx/fastcgi デフォルト値(未指定時):prefix/fastcgi_temp |
--http-uwsgi-temp-path=PATH | uwsgi機能で利用する一時ファイルを格納するパスを設定します。 例)--http-uwsgi-temp-path=/var/lib/nginx/uwsgi デフォルト値(未指定時):prefix/uwsgi_temp |
--http-scgi-temp-path=PATH | scgi機能で利用する一時ファイルを格納するパスを設定します。 例)--http-scgi-temp-path=/var/lib/nginx/scgi デフォルト値(未指定時):prefix/scgi_temp |
--without-http | Http Serverを無効にします。 |
--without-http-cache | Http キャッシュを無効にします。 |
--with-mail | メール機能(POP3/IMAP4/SMTP proxy module)を有効にします。 |
--with-mail=dynamic | 動的モジュールのメール機能(POP3/IMAP4/SMTP proxy module)を有効にします。 |
--with-mail_ssl_module | ngx_mail_ssl_moduleを有効にします。 |
--without-mail_pop3_module | ngx_mail_pop3_moduleを無効にします。 |
--without-mail_imap_module | ngx_mail_imap_moduleを無効にします。 |
--without-mail_smtp_module | ngx_mail_smtp_moduleを無効にします。 |
--with-stream | TCP/UDP proxy moduleを有効にします。 |
--with-stream=dynamic | 動的モジュールTCP/UDP proxy moduleを有効にします。 |
--with-stream_ssl_module | ngx_stream_ssl_moduleを有効にします。 |
--with-stream_realip_module | ngx_stream_realip_moduleを有効にします。 |
--with-stream_geoip_module | ngx_stream_geoip_moduleを有効にします。 |
--with-stream_geoip_module=dynamic | 動的モジュールのngx_stream_geoip_moduleを有効にします。 |
--with-stream_ssl_preread_module | ngx_stream_ssl_preread_moduleを有効にします。 |
--without-stream_limit_conn_module | ngx_stream_limit_conn_moduleを無効にします。 |
--without-stream_access_module | ngx_stream_access_moduleを無効にします。 |
--without-stream_geo_module | ngx_stream_geo_moduleを無効にします。 |
--without-stream_map_module | ngx_stream_map_moduleを無効にします。 |
--without-stream_split_clients_module | ngx_stream_split_clients_moduleを無効にします。 |
--without-stream_return_module | ngx_stream_return_moduleを無効にします。 |
--without-stream_upstream_hash_module | ngx_stream_upstream_hash_moduleを無効にします。 |
--without-stream_upstream_least_conn_module | ngx_stream_upstream_least_conn_moduleを無効にします。 |
--without-stream_upstream_zone_module | ngx_stream_upstream_zone_moduleを無効にします。 |
--with-google_perftools_module | ngx_google_perftools_moduleを有効にします。 |
--with-cpp_test_module | ngx_cpp_test_moduleを有効にします。 |
--add-module=PATH | 拡張モジュールのパスを指定し、パスに保存された拡張モジュールを有効にします。 nginx.confからload_moduleディレクティブで拡張モジュールを指定します。 |
--add-dynamic-module=PATH | 動的モジュールのパスを指定します。パスに保存された動的モジュールを有効にします。 nginx.confからload_moduleディレクティブで動的モジュールを指定します。 |
--with-compat | 動的モジュールの互換性。 コンパイルした動的モジュールファイルを同じ環境の別サーバに利用できます。 |
--with-cc=PATH | Cコンパイラを指定します。 |
--with-cpp=PATH | Cプロセッサーを指定します。 |
--with-cc-opt=OPTIONS | Cコンパイラにオプションを指定します。 |
--with-ld-opt=OPTIONS | リンカーのオプションを指定します。 |
---with-cpu-opt=CPU | ビルド時のCPUを指定します。 CPUの選択肢:pentium, pentiumpro, pentium3, pentium4,athlon, opteron, sparc32, sparc64, ppc64 |
--with[--without]-pcre | 正規表現用のPCREライブラリの利用を強制します。 without指定時には、利用を禁止します。 |
--with-pcre=DIR | PCREライブラリのパスを指定します。 例)--with-pcre=/usr/local/src/pcre-8.40 PCREライブラリをソースからコンパイルする場合には、pcre-8.40ディレクトリ内で ./configure、make、make install を事前に実施する必要があります。 |
--with-pcre-opt=OPTIONS | PCREライブラリビルド時のオプションを指定します。 |
--with-pcre-jit | JIT(JustInTime)コンパイルでPCREをビルドします。 |
--with-zlib=DIR | zlibライブラリのパスを指定します。 例)--with-pcre=/usr/local/src/zlib-1.2.11 |
--with-zlib-opt=OPTIONS | zlibライブラリのビルド自のオプションを指定します。 |
--with-zlib-asm=CPU | zlibライブラリのアセンブルソースを解析するCPUを指定します。 CPUの選択肢:pentium, pentiumpro |
--with-libatomic | libatomic_opsライブラリの使用を強制します。 |
--with-libatomic=DIR | libatomic_opsを利用する場合、libatomic_opsライブラリのソースファイルの格納先を指定します。 |
--with-openssl=DIR | opensslライブラリのソースファイル格納先を指定します。 例)--with-openssl=/usr/local/src/openssl-1.1.0f |
--with-openssl-opt=OPTIONS | opensslライブラリbuild時のオプションを指定します。 |
--with-debug | デバックログを有効にします。 |
上記表のオプションの例では、FHSに基づいたポリシーで各種ディレクトリのサンプル値を示しています。
パスのオプションを指定しないデフォルト値で各種ディレクトリが/usr/local/nginx配下にインストールされる方法でも問題ありません。
重要なのは、nginxサーバを管理するインフラチーム、運用チームがどちらのポリシーでサーバーのミドルウェアを管理しているかです。
あるべき論より、サーバの運用者のための運用ポリシーが統一され、整理整頓されているかが肝心な考え方です。