nginx編譯模塊詳解(二)
阿新 • • 發佈:2018-07-29
通用 lib modules 兼容 conf 實現 pro 錯誤日誌 變量 nginx1.15.1配置:
configure命令支持以下參數:
--prefix=path 指定安裝目錄
--sbin-path=path 默認可執行文件的路徑。
--modules-path=path 定義一個將安裝nginx動態模塊的目錄
--conf-path=path 設置nginx.conf配置文件的名稱,可以使用-c 選項指定nginx.conf啟動nginx.
--http-log-path=path 訪問日誌的路徑。
--error-log-path=path 錯誤日誌的路徑。
--pid-path=path 設置將存儲主進程的進程ID的nginx.pid文件的名稱
--lock-path=path 設置lock文件的路徑。
--user=username 設置其憑據將由工作進程使用的非特權用戶的名稱
--group=groupname 設置工作進程將使用其憑據的組的名稱
--with-select_module 啟用構建允許服務器使用該模塊的模塊
--without-select_module 禁用構建允許服務器使用該模塊的模塊
--with-poll_module 啟用構建允許服務器使用該模塊的模塊
--without-poll_module 禁用構建允許服務器使用該模塊的模塊
--with-threads 可以使用線程池。
--with-file-aio 啟用異步文件I/O(AIO)
--with-http_ssl_module
可以構建一個將HTTP協議支持添加到HTTP服務器的模塊。
OpenSSL庫是構建和運行該模塊所必需的
--with-http_v2_module 啟用支持http2的模塊。
--with-http_realip_module 可以構建ngx_http_realip_module模塊,
獲取真實客戶端IP。
--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
通過將一個指定的字符串替換為另一個指定的字符串,可以構建修改響應的ngx_http_sub_module模塊。該模塊不是默認生成的。
--with-http_addition_module
可以構建在響應之前和之後添加文本的ngx_http_addition_module模塊。
--with-http_xslt_module
--with-http_xslt_module=dynamic
可以構建使用一個或多個XSLT樣式表轉換XML響應的ngx_http_xslt_module模塊。
該模塊不是默認生成的。 libxml2和libxslt庫是構建和運行該模塊所必需的
--with-http_dav_module
可以構建通過WebDAV協議提供文件管理自動化的ngx_http_dav_module模塊。該模塊不是默認生成的。
--with-http_flv_module
可以構建為Flash視頻(FLV)文件提供偽流式服務器端支持的ngx_http_flv_module模塊。該模塊不是默認生成的。
--with-http_mp4_module
可以構建為MP4文件提供偽流式服務器端支持的ngx_http_mp4_module模塊。該模塊不是默認生成的。
--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
禁用構建將cookie設置為適合客戶端標識的ngx_http_userid_module模塊。
--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
禁用構建為A / B測試創建變量的ngx_http_split_clients_module模塊
--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
禁用構建從memcached服務器獲取響應的ngx_http_memcached_module模塊
--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
禁用構建實現least_conn負載平衡方法的模塊
--without-http_upstream_random_module
--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服務器的主要請求日誌文件的名稱。安裝完成後,可以使用access_log指令始終在nginx.conf配置文件中更改文件名。默認情況下該文件被命名access.log
--without-http
disables the HTTP server.
--without-http-cache
disables HTTP cache.
--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
禁用構建為A / B測試創建變量的ngx_stream_split_clients_module模塊
--without-stream_return_module
禁用構建向客戶端發送一些指定值的ngx_stream_return_module模塊,然後關閉連接
--without-stream_upstream_hash_module
禁用構建實現散列負載平衡方法的模塊。
--without-stream_upstream_least_conn_module
禁用構建實現least_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=OPTIONS
設置將被添加到CFLAGS變量的附加參數。在FreeBSD下使用系統PCRE庫時,應指定--with-cc-opt =“ - I / usr / local / include”。如果select()支持的文件數量需要增加,那麽也可以在這裏指定如下:--with-cc-opt =“ - D FD_SETSIZE = 2048
--with-ld-opt=OPTIONS
設置將在鏈接期間使用的其他參數。在FreeBSD下使用系統PCRE庫時,應指定--with-ld-opt =“ - L / usr / local / lib”。
--with-cpu-opt=cpu
能夠由CPU指定的建設:英特爾pentiumpro,pentium3,奔騰4,速龍,皓龍,不再獲得,SPARC64,PPC64。
--without-pcre 禁用PCRE庫的使用
--with-pcre 強制使用PCRE庫。
--with-pcre=path 將路徑設置為PCRE庫的源。圖書館發行版(版本4.4 - 8.41)需要從PCRE網站下載並提取。其余的由nginx的./configure和make完成。該庫是位置指令和ngx_http_rewrite_module模塊支持正則表達式所必需的
--with-pcre-opt=OPTIONS
為PCRE設置了額外的構建選項
--with-pcre-jit
使用“即時編譯”支持(1.1.12,pcre_jit指令)構建PCRE庫。
--with-zlib=path
將路徑指向zlib庫的來源。庫分發(版本1.1.3 - 1.2.11)需要從zlib站點下載並解壓縮。其余的由nginx的./configure和make完成。該庫是ngx_http_gzip_module模塊所必需的
--with-zlib-opt=OPTIONS
為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設置了額外的構建選項。
nginx編譯模塊詳解(二)