Nginx 編譯部署之configure命令

在進行Nginx 簡介和安裝部署一篇,我們瞭解到在編譯源代碼部署Nginx時,我麼可以使用configure命令在編譯時配置一些參數,configure命令定義了系統的各個方面,包括nginx允許用於連接處理的方法,並且創建一個Makefile。最後make && make install會根據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 fileprefix/conf/nginx.conf

--error-log-path=path 設置主要錯誤,警告和診斷文件的名稱。安裝後,可以始終nginx.conf使用error_log僞指令在配置文件中 更改文件名 。默認情況下,文件名爲 prefix/logs/error.log。

--pid-path=path設置nginx.pid將存儲主進程的進程ID 的文件名。安裝後,可以始終nginx.conf使用pid僞指令在配置文件中 更改文件名 。默認情況下,文件名爲 prefix/logs/nginx.pid。

--lock-path=path爲鎖定文件的名稱設置前綴。安裝後,可以始終nginx.conf使用lock_file僞指令在配置文件中 更改該值 。默認情況下,值爲 prefix/logs/nginx.lock。

--user=name設置非特權用戶的名稱,其憑據將由工作進程使用。安裝後,可以始終nginx.conf使用用戶指令在配置文件中 更改名稱 。默認用戶名是nobody。

--group=name設置工作進程將使用其憑據的組的名稱。安裝後,可以始終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
支持構建ngx_http_xslt_module 模塊,該 模塊使用一個或多個XSLT樣式錶轉換XML響應。默認情況下未構建此模塊。該libxml2的和 的libxslt庫需要構建和運行此模塊。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
支持構建ngx_http_image_filter_module 模塊,該 模塊可以轉換JPEG,GIF,PNG和WebP格式的圖像。默認情況下未構建此模塊。
--with-http_geoip_module
--with-http_geoip_module=dynamic
支持構建ngx_http_geoip_module 模塊,該 模塊根據客戶端IP地址和預編譯的MaxMind數據庫創建變量 。默認情況下未構建此模塊。
--with-http_sub_module
支持構建ngx_http_sub_module 模塊,該 模塊通過將一個指定的字符串替換爲另一個指定的字符串來修改響應。默認情況下未構建此模塊。
--with-http_dav_module
支持構建ngx_http_dav_module 模塊,該 模塊通過WebDAV協議提供文件管理自動化。默認情況下未構建此模塊。
--with-http_flv_module
支持構建ngx_http_flv_module 模塊,該 模塊爲Flash Video(FLV)文件提供僞流服務器端支持。默認情況下未構建此模塊。
--with-http_mp4_module
支持構建ngx_http_mp4_module 模塊,該 模塊爲MP4文件提供僞流服務器端支持。默認情況下未構建此模塊。
--with-http_gunzip_module
支持爲不支持“ gzip”編碼方法的客戶端構建ngx_http_gunzip_module 模塊,該 模塊使用“ Content-Encoding: gzip” 解壓縮響應。默認情況下未構建此模塊。
--with-http_gzip_static_module
支持構建ngx_http_gzip_static_module 模塊,該 模塊支持發送.gz擴展名爲“ ”的預壓縮文件,而不是常規文件。默認情況下未構建此模塊。
--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 模塊,該 模塊將指定的字符集添加到“ Content-Type”響應頭字段中,並且可以將數據從一個字符集轉換爲另一個字符集。
--without-http_gzip_module
禁用構建可壓縮 HTTP服務器響應的模塊。zlib庫是構建和運行此模塊所必需的。
--without-http_ssi_module
禁用構建 處理通過SSI(服務器端包含)命令的 ngx_http_ssi_module模塊的響應。
--without-http_userid_module
禁用構建ngx_http_userid_module 模塊,該 模塊設置適用於客戶端標識的cookie。
--without-http_access_module
禁用構建ngx_http_access_module 模塊,該 模塊允許限制對某些客戶端地址的訪問。
--without-http_auth_basic_module
禁用構建ngx_http_auth_basic_module 模塊,該 模塊允許通過使用“ HTTP基本身份驗證”協議驗證用戶名和密碼來限制對資源的訪問。
--without-http_mirror_module
禁用構建ngx_http_mirror_module 模塊,該 模塊通過創建後臺鏡像子請求來實現原始請求的鏡像。
--without-http_autoindex_module
禁用構建ngx_http_autoindex_module 模塊,該 模塊處理以斜槓(' /')結尾的請求,並在ngx_http_index_module模塊找不到索引文件的情況下生成目錄列表 。
--without-http_geo_module
禁用構建ngx_http_geo_module 模塊,該 模塊創建的變量的值取決於客戶端IP地址。
--without-http_map_module
禁用構建ngx_http_map_module 模塊,該 模塊創建的變量值取決於其他變量的值。
--without-http_split_clients_module
禁用構建ngx_http_split_clients_module 模塊,該 模塊創建用於A / B測試的變量。
--without-http_referer_module
禁用構建ngx_http_referer_module 模塊,該 模塊可以阻止對“ Referer”標頭字段中具有無效值的請求的站點訪問。
--without-http_rewrite_module
禁用構建允許HTTP服務器 重定向請求並更改請求URI的模塊。需要PCRE庫來構建和運行此模塊。
--without-http_proxy_module
禁用構建HTTP服務器 代理模塊。
--without-http_fastcgi_module
禁用構建 將請求傳遞到FastCGI服務器的 ngx_http_fastcgi_module模塊。
--without-http_uwsgi_module
禁用構建 將請求傳遞到uwsgi服務器的 ngx_http_uwsgi_module模塊。
--without-http_scgi_module
禁用構建 將請求傳遞到SCGI服務器的 ngx_http_scgi_module模塊。
--without-http_grpc_module
禁用構建 將請求傳遞到gRPC服務器的 ngx_http_grpc_module模塊。
--without-http_memcached_module
禁用構建ngx_http_memcached_module 模塊,該 模塊從Memcached服務器獲取響應。
--without-http_limit_conn_module
禁用構建ngx_http_limit_conn_module 模塊,該 模塊限制每個鍵的連接數,例如,單個IP地址的連接數。
--without-http_limit_req_module
禁用構建ngx_http_limit_req_module 模塊,該 模塊限制每個密鑰的請求處理速率,例如,來自單個IP地址的請求的處理速率。
--without-http_empty_gif_module
禁用構建發出單像素透明GIF的模塊 。
--without-http_browser_module
禁用構建ngx_http_browser_module 模塊,該 模塊創建的變量的值取決於“ User-Agent”請求標頭字段的值。
--without-http_upstream_hash_module
禁用構建實現哈希 負載平衡方法的模塊 。
--without-http_upstream_ip_hash_module
禁用構建實現ip_hash 負載平衡方法的模塊 。
--without-http_upstream_least_conn_module
禁用構建實現了minimum_conn 負載平衡方法的模塊 。
--without-http_upstream_keepalive_module
禁用構建模塊以提供 對上游服務器連接的緩存。
--without-http_upstream_zone_module 禁用構建模塊,該模塊可以將上游組的運行時狀態存儲在共享內存 區域中。
--with-http_perl_module
--with-http_perl_module=dynamic 支持構建 嵌入式Perl模塊。默認情況下未構建此模塊。
--with-perl_modules_path=path 定義一個保留Perl模塊的目錄。
--with-perl=path 設置Perl二進制文件的名稱。
--http-log-path=path 設置HTTP服務器的主請求日誌文件的名稱。安裝後,可以始終nginx.conf使用access_log僞指令在配置文件中 更改文件名 。默認情況下,文件名爲 prefix/logs/access.log。
--http-client-body-temp-path=path 定義用於存儲包含客戶端請求正文的臨時文件的目錄。安裝後,可以始終nginx.conf使用client_body_temp_path 指令在配置文件中 更改目錄 。默認情況下,目錄名爲 prefix/client_body_temp。
--http-proxy-temp-path=path 定義一個目錄,用於存儲包含從代理服務器接收到的數據的臨時文件。安裝後,可以始終nginx.conf使用proxy_temp_path 指令在配置文件中 更改目錄 。默認情況下,目錄名爲 prefix/proxy_temp。
--http-fastcgi-temp-path=path 定義一個目錄,用於存儲包含從FastCGI服務器接收到的數據的臨時文件。安裝後,可以始終nginx.conf使用fastcgi_temp_path 指令在配置文件中 更改目錄 。默認情況下,目錄名爲 prefix/fastcgi_temp。
--http-uwsgi-temp-path=path 定義一個目錄,用於存儲帶有從uwsgi服務器接收到的數據的臨時文件。安裝後,始終可以nginx.conf使用uwsgi_temp_path 指令在配置文件中 更改目錄 。默認情況下,目錄名爲 prefix/uwsgi_temp。
--http-scgi-temp-path=path 定義一個目錄,用於存儲包含從SCGI服務器接收到的數據的臨時文件。安裝後,可以始終nginx.conf使用scgi_temp_path 指令在配置文件中 更改目錄 。默認情況下,目錄名爲 prefix/scgi_temp。
--without-http 禁用HTTP服務器。
--without-http-cache 禁用HTTP緩存。
--with-mail
--with-mail=dynamic
啓用POP3 / IMAP4 / SMTP 郵件代理服務器。
--with-mail_ssl_module 啓用構建將 SSL / TLS協議支持添加 到郵件代理服務器的模塊的功能。默認情況下未構建此模塊。需要OpenSSL庫來構建和運行此模塊。
--without-mail_pop3_module 在郵件代理服務器中 禁用POP3協議。
--without-mail_imap_module 在郵件代理服務器中 禁用IMAP協議。
--without-mail_smtp_module 在郵件代理服務器中 禁用SMTP協議。
--with-stream
--with-stream=dynamic
支持構建 用於通用TCP / UDP代理和負載平衡的 流模塊。默認情況下未構建此模塊。
--with-stream_ssl_module 支持構建一個模塊,該模塊 向流模塊添加 SSL / TLS協議支持。默認情況下未構建此模塊。需要OpenSSL庫來構建和運行此模塊。
--with-stream_realip_module 支持構建ngx_stream_realip_module 模塊,該 模塊將客戶端地址更改爲PROXY協議標頭中發送的地址。默認情況下未構建此模塊。
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
支持構建ngx_stream_geoip_module 模塊,該 模塊根據客戶端IP地址和預編譯的MaxMind數據庫創建變量 。默認情況下未構建此模塊。
--with-stream_ssl_preread_module 支持構建ngx_stream_ssl_preread_module 模塊,該 模塊允許從ClientHello 消息中提取信息, 而無需終止SSL / TLS。默認情況下未構建此模塊。
--without-stream_limit_conn_module 禁用構建ngx_stream_limit_conn_module 模塊,該 模塊限制每個鍵的連接數,例如,單個IP地址的連接數。
--without-stream_access_module 禁用構建ngx_stream_access_module 模塊,該模塊允許限制對某些客戶端地址的訪問。
--without-stream_geo_module 禁用構建ngx_stream_geo_module 模塊,該模塊創建的變量的值取決於客戶端IP地址。
--without-stream_map_module 禁用構建ngx_stream_map_module 模塊,該模塊創建的變量值取決於其他變量的值。
--without-stream_split_clients_module 禁用構建ngx_stream_split_clients_module 模塊,該模塊創建用於A / B測試的變量。
--without-stream_return_module 禁用構建ngx_stream_return_module 模塊,該模塊向客戶端發送一些指定的值,然後關閉連接。
--without-stream_upstream_hash_module 禁用構建實現哈希 負載平衡方法的模塊 。
--without-stream_upstream_least_conn_module 禁用構建實現了minimum_conn 負載平衡方法的模塊 。
--without-stream_upstream_zone_module 禁用構建模塊,該模塊可以將上游組的運行時狀態存儲在共享內存 區域中。
--with-google_perftools_module 允許構建 ngx_google_perftools_module 模塊,以使用Google Performance Tools對nginx工作進程進行 性能分析。該模塊供nginx開發人員使用,默認情況下未構建。
--with-cpp_test_module 啓用構建 ngx_cpp_test_module模塊。
--add-module=path 啓用外部模塊。
--add-dynamic-module=path 啓用外部動態模塊。
--with-compat 啓用動態模塊兼容性。
--with-cc=path 設置C編譯器的名稱。
--with-cpp=path 設置C預處理器的名稱。
--with-cc-opt=parameters 設置將添加到CFLAGS變量的其他參數。在FreeBSD下使用系統PCRE庫時, --with-cc-opt="-I /usr/local/include" 應指定。如果select()需要增加支持的文件數量,也可以在此處指定,例如: --with-cc-opt="-D FD_SETSIZE=2048"。
--with-ld-opt=parameters 設置鏈接期間將使用的其他參數。在FreeBSD下使用系統PCRE庫時, --with-ld-opt="-L /usr/local/lib" 應指定。
--with-cpu-opt=cpu 每個指定的CPU能夠使建築: pentium,pentiumpro, pentium3,pentium4, athlon,opteron, sparc32,sparc64, ppc64。
--without-pcre 禁用PCRE庫的使用。
--with-pcre 強制使用PCRE庫。
--with-pcre=path 設置PCRE庫源的路徑。需要從PCRE站點下載並分發庫分發(版本4.4 — 8.43) 。其餘的由nginx的./configure和完成 make。該庫對於location指令中的正則表達式支持和 ngx_http_rewrite_module 模塊是必需的 。
--with-pcre-opt=parameters 爲PCRE設置其他構建選項。
--with-pcre-jit 使用“及時編譯”支持(1.1.12,pcre_jit指令)構建PCRE庫 。
--with-zlib=path 設置zlib庫源的路徑。需要從zlib站點下載庫發行版(版本1.1.3-1.2.11) 並解壓縮。其餘的由nginx的./configure和完成 make。ngx_http_gzip_module模塊需要該庫 。
--with-zlib-opt=parameters 爲zlib設置其他構建選項。
--with-zlib-asm=cpu 使得能夠使用指定的CPU中的一個優化的zlib彙編源程序: pentium,pentiumpro。
--with-libatomic 強制使用libatomic_ops庫。
--with-libatomic=path 設置libatomic_ops庫源的路徑。
--with-openssl=path 設置OpenSSL庫源的路徑。
--with-openssl-opt=parameters 爲OpenSSL設置其他構建選項。
--with-debug 啓用調試日誌。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章