ソースからnginxを構築する

構築は configure コマンドを使って設定されます。configureはnginxが接続の処理時に使うことができるメソッドを含めたシステムのあらゆる特徴を定義します。最後にMakefileを作ります。

configure コマンドは次のパラメータをサポートしています:

--help
ヘルプメッセージを表示する。

--prefix=path
ファイルを提供するディレクトリを定義します。これと同じディレクトリがconfigure (ライブラリのソースファイルへのパスは除く) とnginx.conf 設定ファイルの中で全ての相対パスにも使われます。デフォルトでは/usr/local/nginx に設定されます。
--sbin-path=path
nginx実行ファイルの名前を設定します。この名前はインストールの間でのみ使われます。デフォルトではファイルはprefix/sbin/nginxという名前です。
--modules-path=path
nginx動的モジュールがインストールされるディレクトリを定義します。デフォルトでは、prefix/modules ディレクトリが使われます。
--conf-path=path
nginx.conf 設定ファイルの名前を設定します。必要があれば、nginxはコマンドラインのパラメータ -c fileで設定ファイルを指定して、異なる設定ファイルで常に開始するようにすることもできます。デフォルトでは、ファイルの名前はprefix/conf/nginx.confです。
--error-log-path=path
初期のerror, warning, および diagnosticファイルの名前を設定する。インストール後は、nginx.conf設定ファイルの中で error_logディレクティブを使っていつでも変更することができます。デフォルトでは prefix/logs/error.logという名前です。
--pid-path=path
メインプロセスのプロセスIDを格納するnginx.pidファイルの名前を設定する。インストール後は、nginx.conf設定ファイルの中で pidディレクティブを使っていつでも変更することができます。デフォルトでは prefix/logs/nginx.pidという名前です。
--lock-path=path
ロックファイルの名前のプリフィックスを設定します。インストレーションの後で、その値は lock_file ディレクティブを使って nginx.conf 設定ファイル内で常に変更することができます。デフォルトでは、値は prefix/logs/nginx.lockです。

--user=name
ワーカープロセスによって使われる特権の無いユーザの名前を設定します。インストレーションの後で、その名前はuserディレクティブを使って nginx.conf 設定ファイル内で常に変更することができます。デフォルトのユーザ名はnobodyです。
--group=name
ワーカープロセスによって使われる特権のないグループの名前を設定します。インストレーションの後で、その名前はuserディレクティブを使って nginx.conf 設定ファイル内で常に変更することができます。デフォルトでは、権限が無いユーザののグループ名が設定されます。

--build=name
任意のnginxビルド名を設定します。
--builddir=path
ビルドのディレクトリを設定します。

--with-select_module
--without-select_module
サーバがselect() メソッドを使うことができるモジュールのビルドを有効あるいは無効にします。プラットフォームがkqueue、epollまたは/dev/poll のようなもっと適切なメソッドをサポートしていないような場合は、このモジュールが自動的に構築されます。
--with-poll_module
--without-poll_module
サーバがpoll() メソッドを使うことができるモジュールのビルドを有効あるいは無効にします。プラットフォームがkqueue、epollまたは/dev/poll のようなもっと適切なメソッドをサポートしていないような場合は、このモジュールが自動的に構築されます。
--with-threads
スレッドプールの使用を有効にします。
--with-file-aio
FreeBSDとLinuxにおいて、非同期ファイルI/O (AIO)の利用を有効にします。

--with-http_ssl_module
HTTPSプロトコルのサポートをHTTPサーバに追加するモジュールのビルドを有効にします。このモジュールはデフォルトでは構築されません。このモジュールを構築して実行するにはOpenSSLライブラリが必要です。
--with-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
--with-http_xslt_module=dynamic
1つ以上のXSLTスタイルシートを使ってXML応答を変換するngx_http_xslt_moduleの構築を有効にします。このモジュールはデフォルトでは構築されません。このモジュールを構築および実行するには、libxml2libxslt ライブラリが必要です。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
JPEG, GIF, PNG およびWebP形式のイメージを変換するngx_http_image_filter_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_geoip_module
--with-http_geoip_module=dynamic
クライアントIPアドレスと事前コンパイルされたMaxMindデータベースに基づく変数を作成するngx_http_geoip_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_sub_module
1つの指定された文字列を他のものに置き換えることで応答を修正するngx_http_sub_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_dav_module
WebDAVプロトコルを使ってファイル管理自動化を提供するngx_http_dav_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_flv_module
Flash Video (FLV)ファイルの擬似的なストリーミングのサーバサイドサポートを提供するngx_http_flv_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_mp4_module
MP4ファイルの擬似的なストリーミングのサーバサイドサポートを提供するngx_http_mp4_module モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_gunzip_module
"gzip"符号化メソッドをサポートしないクライアントのために"Content-Encoding: gzip"の応答を解凍するngx_http_gunzip_module モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_gzip_static_module
通常のファイルの代わりに".gz"ファイル拡張子のあらかじめ圧縮されたファイルを送信することができる<c0>ngx_http_gzip_static_module</c0>モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_auth_request_module
サブリクエストの結果に基づいたクライアント認証を実装するngx_http_auth_request_moduleモジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_random_index_module
スラッシュ文字('/')で終わるリクエストを処理し、ディレクトリ内のランダムなファイルをindexファイルとして提供するために取り上げるngx_http_random_index_module モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_secure_link_module
ngx_http_secure_link_module モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_degradation_module
<a0>ngx_http_degradation_module</a0> モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。
--with-http_slice_module
ある範囲の応答を返しながら、リクエストをサブリクエストに分割するngx_http_slice_module モジュールの構築を有効にします。モジュールは大きな応答のより効果的なキャッシングを提供します。このモジュールはデフォルトでは構築されません。
--with-http_stub_status_module
基本統計情報へのアクセスを提供する ngx_http_stub_status_module モジュールの構築を有効にします。このモジュールはデフォルトでは構築されません。

--without-http_charset_module
応答の"Content-Type"ヘッダフィールドに指定した文字セットを追加し、付加的に1つの文字セットから他のものへの変換をすることができるngx_http_charset_module モジュールの構築を無効にします。
--without-http_gzip_module
HTTPサーバの応答を圧縮するモジュールの構築を無効にします。このモジュールを構築して実行するにはzlibライブラリが必要になります。
--without-http_ssi_module
応答が通過する時にSSI (Server Side Includes) コマンドを処理する 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
disables building the ngx_http_auth_basic_module module that allows limiting access to resources by validating the user name and password using the “HTTP Basic Authentication” protocol.
--without-http_mirror_module
disables building the ngx_http_mirror_module module that implements mirroring of an original request by creating background mirror subrequests.
--without-http_autoindex_module
disables building the ngx_http_autoindex_module module that processes requests ending with the slash character (‘/’) and produces a directory listing in case the ngx_http_index_module module cannot find an index file.
--without-http_geo_module
disables building the ngx_http_geo_module module that creates variables with values depending on the client IP address.
--without-http_map_module
disables building the ngx_http_map_module module that creates variables with values depending on values of other variables.
--without-http_split_clients_module
disables building the ngx_http_split_clients_module module that creates variables for A/B testing.
--without-http_referer_module
disables building the ngx_http_referer_module module that can block access to a site for requests with invalid values in the “Referer” header field.
--without-http_rewrite_module
disables building a module that allows an HTTP server to redirect requests and change URI of requests. このモジュールを構築して実行するにはPCREライブラリが必要です。
--without-http_proxy_module
disables building an HTTP server proxying module.
--without-http_fastcgi_module
disables building the ngx_http_fastcgi_module module that passes requests to a FastCGI server.
--without-http_uwsgi_module
disables building the ngx_http_uwsgi_module module that passes requests to a uwsgi server.
--without-http_scgi_module
disables building the ngx_http_scgi_module module that passes requests to an SCGI server.
--without-http_grpc_module
disables building the ngx_http_grpc_module module that passes requests to a gRPC server.
--without-http_memcached_module
disables building the ngx_http_memcached_module module that obtains responses from a memcached server.
--without-http_limit_conn_module
disables building the ngx_http_limit_conn_module module that limits the number of connections per key, for example, the number of connections from a single IP address.
--without-http_limit_req_module
disables building the ngx_http_limit_req_module module that limits the request processing rate per key, for example, the processing rate of requests coming from a single IP address.
--without-http_empty_gif_module
disables building a module that emits single-pixel transparent GIF.
--without-http_browser_module
disables building the ngx_http_browser_module module that creates variables whose values depend on the value of the “User-Agent” request header field.
--without-http_upstream_hash_module
disables building a module that implements the hash load balancing method.
--without-http_upstream_ip_hash_module
disables building a module that implements the ip_hash load balancing method.
--without-http_upstream_least_conn_module
disables building a module that implements the least_conn load balancing method.
--without-http_upstream_keepalive_module
disables building a module that provides caching of connections to upstream servers.
--without-http_upstream_zone_module
disables building a module that makes it possible to store run-time state of an upstream group in a shared memory zone.

--with-http_perl_module
--with-http_perl_module=dynamic
enables building the embedded Perl module. このモジュールはデフォルトでは構築されません。
--with-perl_modules_path=path
defines a directory that will keep Perl modules.
--with-perl=path
sets the name of the Perl binary.

--http-log-path=path
HTTPサーバの初期リクエストログの名前を設定する。After installation, the file name can always be changed in the nginx.conf configuration file using the access_log directive. By default the file is named prefix/logs/access.log.
--http-client-body-temp-path=path
defines a directory for storing temporary files that hold client request bodies. After installation, the directory can always be changed in the nginx.conf configuration file using the client_body_temp_path directive. By default the directory is named prefix/client_body_temp.
--http-proxy-temp-path=path
defines a directory for storing temporary files with data received from proxied servers. After installation, the directory can always be changed in the nginx.conf configuration file using the proxy_temp_path directive. By default the directory is named prefix/proxy_temp.
--http-fastcgi-temp-path=path
defines a directory for storing temporary files with data received from FastCGI servers. After installation, the directory can always be changed in the nginx.conf configuration file using the fastcgi_temp_path directive. By default the directory is named prefix/fastcgi_temp.
--http-uwsgi-temp-path=path
defines a directory for storing temporary files with data received from uwsgi servers. After installation, the directory can always be changed in the nginx.conf configuration file using the uwsgi_temp_path directive. By default the directory is named prefix/uwsgi_temp.
--http-scgi-temp-path=path
defines a directory for storing temporary files with data received from SCGI servers. After installation, the directory can always be changed in the nginx.conf configuration file using the scgi_temp_path directive. By default the directory is named prefix/scgi_temp.

--without-http
disables the HTTP server.
--without-http-cache
disables HTTP cache.

--with-mail
--with-mail=dynamic
enables POP3/IMAP4/SMTP mail proxy server.
--with-mail_ssl_module
enables building a module that adds the SSL/TLS protocol support to the mail proxy server. このモジュールはデフォルトでは構築されません。このモジュールを構築して実行するにはOpenSSLライブラリが必要です。
--without-mail_pop3_module
disables the POP3 protocol in mail proxy server.
--without-mail_imap_module
disables the IMAP protocol in mail proxy server.
--without-mail_smtp_module
disables the SMTP protocol in mail proxy server.

--with-stream
--with-stream=dynamic
enables building the stream module for generic TCP/UDP proxying and load balancing. このモジュールはデフォルトでは構築されません。
--with-stream_ssl_module
enables building a module that adds the SSL/TLS protocol support to the stream module. このモジュールはデフォルトでは構築されません。このモジュールを構築して実行するにはOpenSSLライブラリが必要です。
--with-stream_realip_module
enables building the ngx_stream_realip_module module that changes the client address to the address sent in the PROXY protocol header. このモジュールはデフォルトでは構築されません。
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
enables building the ngx_stream_geoip_module module that creates variables depending on the client IP address and the precompiled MaxMind databases. このモジュールはデフォルトでは構築されません。
--with-stream_ssl_preread_module
enables building the ngx_stream_ssl_preread_module module that allows extracting information from the ClientHello message without terminating SSL/TLS. このモジュールはデフォルトでは構築されません。
--without-stream_limit_conn_module
disables building the ngx_stream_limit_conn_module module that limits the number of connections per key, for example, the number of connections from a single IP address.
--without-stream_access_module
disables building the ngx_stream_access_module module that allows limiting access to certain client addresses.
--without-stream_geo_module
disables building the ngx_stream_geo_module module that creates variables with values depending on the client IP address.
--without-stream_map_module
disables building the ngx_stream_map_module module that creates variables with values depending on values of other variables.
--without-stream_split_clients_module
disables building the ngx_stream_split_clients_module module that creates variables for A/B testing.
--without-stream_return_module
disables building the ngx_stream_return_module module that sends some specified value to the client and then closes the connection.
--without-stream_upstream_hash_module
disables building a module that implements the hash load balancing method.
--without-stream_upstream_least_conn_module
disables building a module that implements the least_conn load balancing method.
--without-stream_upstream_zone_module
disables building a module that makes it possible to store run-time state of an upstream group in a shared memory zone.

--with-google_perftools_module
enables building the ngx_google_perftools_module module that enables profiling of nginx worker processes using Google Performance Tools. The module is intended for nginx developers and is not built by default.
--with-cpp_test_module
enables building the ngx_cpp_test_module module.

--add-module=path
enables an external module.
--add-dynamic-module=path
enables an external dynamic module.

--with-compat
enables dynamic modules compatibility.

--with-cc=path
sets the name of the C compiler.
--with-cpp=path
sets the name of the C preprocessor.
--with-cc-opt=parameters
sets additional parameters that will be added to the CFLAGS variable. When using the system PCRE library under FreeBSD, --with-cc-opt="-I /usr/local/include" should be specified. If the number of files supported by select() needs to be increased it can also be specified here such as this: --with-cc-opt="-D FD_SETSIZE=2048".
--with-ld-opt=parameters
linkの間に使われる追加のパラメータを設定します。When using the system PCRE library under FreeBSD, --with-ld-opt="-L /usr/local/lib" should be specified.
--with-cpu-opt=cpu
enables building per specified CPU: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, sparc32, sparc64, ppc64.

--without-pcre
disables the usage of the PCRE library.
--with-pcre
forces the usage of the PCRE library.
--with-pcre=path
PCREライブラリのソースへのパスを設定します。The library distribution (version 4.4 — 8.41) needs to be downloaded from the PCRE site and extracted. The rest is done by nginx’s ./configure and make. The library is required for regular expressions support in the location directive and for the ngx_http_rewrite_module module.
--with-pcre-opt=parameters
sets additional build options for PCRE.
--with-pcre-jit
builds the PCRE library with “just-in-time compilation” support (1.1.12, the pcre_jit directive).

--with-zlib=path
zlibライブラリのソースへのパスを設定します。The library distribution (version 1.1.3 — 1.2.11) needs to be downloaded from the zlib site and extracted. The rest is done by nginx’s ./configure and make. The library is required for the ngx_http_gzip_module module.
--with-zlib-opt=parameters
sets additional build options for zlib.
--with-zlib-asm=cpu
enables the use of the zlib assembler sources optimized for one of the specified CPUs: pentium, pentiumpro.

--with-libatomic
forces the libatomic_ops library usage.
--with-libatomic=path
sets the path to the libatomic_ops library sources.

--with-openssl=path
sets the path to the OpenSSL library sources.
--with-openssl-opt=parameters
sets additional build options for OpenSSL.

--with-debug
enables the debugging log.

パラメータの使い方の例(これらは全て一行で記述される必要があります):

設定
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre-8.41
    --with-zlib=../zlib-1.2.11

設定の後で、nginxはmakeを使ってコンパイルされインストールされます。

TOP
inserted by FC2 system