1. 程式人生 > >nginx編譯模塊詳解(二)

nginx編譯模塊詳解(二)

通用 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編譯模塊詳解(二)