nginx源碼安裝./configure常見參數詳解


參考地址

官方參考地址  http://nginx.org/en/docs/configure.html

其他參考地址  https://blog.csdn.net/zhangman0702/article/details/93628954 

 

一  configure常用參數

1 常規類參數

##nginx安裝目錄
##默認/usr/local/nginx/
--prefix=PATH

##可執行文件路徑(即nginx命令路徑)
##默認prefix/sbin/nginx
--sbin-path=PATH

##模塊的安裝目錄
##默認prefix/modules
--modules-path=PATH

##配置文件
##默認prefix/conf/nginx.conf
--conf-path=PATH

##錯誤日志文件
##默認prefix/logs/error.log
--error-log-path=PATH

##pid文件
##默認prefix/logs/nginx.pid
--pid-path=PATH

##鎖文件,NGINX運行時會自動創建該文件,一台服務器上只允許運行一個NGINX服務
##默認prefix/logs/nginx.lock
--lock-path=PATH

##HTTP服務器的主請求日志文件
##默認prefix/logs/access.log
--http-log-path=PATH

##用於存儲包含客戶端請求主體的臨時文件目錄
##默認prefix/client_body_temp
--http-client-body-temp-path=PATHDIR

##用於存儲從代理服務器接收到的數據的臨時文件目錄
##默認prefix/proxy_temp
--http-proxy-temp-path=PATHDIR

##用於存儲從FastCGI服務器接收到的數據的臨時文件目錄
##默認prefix/fastcgi_temp
--http-fastcgi-temp-path=PATHDIR

##用於存儲從uwsgi服務器接收到的數據的臨時文件目錄
##默認prefix/uwsgi_temp
--http-uwsgi-temp-path=PATHDIR

##用於存儲從SCGI服務器接收到的數據的臨時文件目錄
##默認prefix/scgi_temp
--http-scgi-temp-path=PATHDIR

##運行nginx的用戶
##默認nobody
--user=USERNAME

##運行nginx的用戶組
--group=GROUPNAME
##添加第三方模塊
--add-module=PATHDIR

 

2 依賴類參數

##設置gcc編譯器目錄
##一般不用設置
--with-cc=PATHDIR

##設置gcc-c++編譯器目錄
##一般不用設置
--with-cpp=PATHDIR

##傳到C編譯器命令行的其他選項
–with-cc-opt=

##傳到C鏈接器命令行的其他選項
–with-ld-opt=

##設置CPU型號
##為特定的CPU執行編譯操作,有效的值:pentium, pentiumpro, pentium3, pentium4, athlon, opteron, sparc32, sparc64,ppc64。
--with-cpu-opt=CPU

##設置pcre庫
##只供源碼安裝的pcre使用
--with-pcre=PATHDIR

##設置MD5庫
##只供源碼安裝的MD5使用
–with-md5=PATHDIR

##設置zlib庫
##只供源碼安裝的zlib使用
--with-zlib=PATHDIR

##設置OpenSSL庫
##只供源碼安裝的OpenSSL使用
--with-openssl=PATHDIR

 

3 默認禁用模塊參數的啟用

3.1  默認禁用模塊參數之常規參數的啟用

##啟用select事件驅動模型
##默認情況下在Linux2.6以上的內核版本中,Nginx支持使用Epoll高效的事件模型,可在配置文件中使用"use epoll"開啟
--with-select_module

##啟用poll事件驅動模型
##默認情況下在Linux2.6以上的內核版本中,Nginx支持使用Epoll高效的事件模型,可在配置文件中使用"use epoll"開啟
--with-poll_module 

##啟用線程池功能
##一般情況下主機有幾核處理器在啟動Nginx時就會創建幾個Worker工作進程
--with-threads

##啟用異步文件I/O支持
##一般用於大文件傳輸的場景下
##可能會報錯,請謹慎使用
--with-filr-aio

##啟用動態模塊兼容性
--with-compat

 

3.2 默認禁用模塊參數之stream相關參數的啟用

##啟用Stream_Core模塊,nginx的核心模塊
##用於實現TCP/UDP代理和四層負載均衡
##默認不啟用,nginx1.9.0版本開始使用
--with-stream

##啟用Stream_SSL模塊
##提供SSL/TLS協議支持
##默認不啟用,需要安裝OpenSSL依賴,需要啟用--with-stream模塊
--with-stream_ssl_module

##啟用Stream_Realip模塊
##用於修改客戶端請求頭中的客戶端IP值,一般用於反向代理中,將真實的客戶端IP傳送給后端的應用服務器
##默認不啟用,需要啟用--with-stream模塊
--with-stream_realip_module

 

3.3 默認禁用模塊參數之HTTP相關參數的啟用

##啟用HTTPS模塊
##用於構建HTTPS服務
##默認未啟用,需要安裝OpenSSL依賴
--with-http_ssl_module

##啟用HTTP_V2模塊
##新HTTP協議,比HTTP1好
##默認未啟用
--with-http_v2_module

##啟用HTTP_Realip模塊
##用於修改請求頭中客戶端IP值,將真實的客戶端IP傳送給后端客戶端
##默認未啟用
--with-http_realip_module

##啟用HTTP_Addition模塊
##用於在響應之后和之前添加文本
##默認未啟用
--with-http_addition_module

##啟用HTTP_Xslt模塊
##過濾器,通過一個或多個XSLT樣式表轉換XML響應
##也可使用動態模塊即--with-http_geoip_module=dynamic
##默認未啟用,需要安裝libxml2和libxslt依賴
--with-http_xslt_module

##啟用HTTP_Image_Filter模塊
##集成圖片處理器,可以轉換JPEG,GIF,PNG和WebP格式的圖像
##也可以使用動態模塊即--with-http_image_filter_module=dynamic
##默認未啟用
--with-http_image_filter_module

##啟用HTTP_Geoip模塊
##根據客戶端IP地址得到其所在國家,處理來自不同地區的訪問
##也可使用動態模塊即--with-http_geoip_module=dynamic
##默認未啟用,需要安裝MaxMind GeoIP依賴
--with-http_geoip_module

##啟用HTTP_Sub模塊
##用於修改響應內容,將一個指定的字符串替換為另一個指定的字符串
##默認未啟用
--with-http_sub_module

##啟用HTTP_DAV模塊
##通過WebDAV協議提供文件管理自動化,類似WEB文件管理器,對服務器文件進行管理
##默認未啟用
--with-http_dav_module

##啟用HTTP_FLV模塊
##為Flash Video(FLV)文件提供偽流服務器端支持,允許在網頁上播放FLV格式的視頻
##默認未啟用
--with-http_flv_module

##啟用HTTP_MP4模塊
##為MP4文件提供偽流服務器端支持,允許在網頁上播放MP4格式的視頻
##默認未啟用
--with-http_mp4_module
##啟用HTTP_Gunzip模塊
##用於為不支持"gzip"編碼方式的客戶端解壓響應,服務器會本地解壓數據,將數據傳送給瀏覽器客戶端
##默認未啟用
--with-http_gunzip_module

##啟用HTTP_Gzip_Static模塊
##用於將靜態內容壓縮成".gz"為擴展名的預壓縮文件,緩存在本地並在響應時發送
##默認未啟用
--with-http_gzip_static_module

##啟用HTTP_Auth_Request模塊
##請求驗證,基於子請求的結果實現客戶端授權,若子請求返回的狀態碼為200,則允許訪問,若返回401或403,則拒絕訪問
##默認未啟用
--with-http_auth_request_module

##啟用HTTP_Random_Index模塊
##處理以斜杠(' /')結尾的請求,從目錄中選擇一個隨機文件作為索引文件
##默認未啟用
--with-http_random_index_module

##啟用HTTP_Secure_Link模塊
##防盜鏈模塊,用於檢查請求鏈接的權限以及是否過期,多用於文件下載防盜鏈
##默認未啟用
--with-http_secure_link_module

##啟用HTTP_Degradation模塊
##用於當主機剩余內存較低時,用戶請求訪問時Nginx會對某些"location"的請求返回204或444的響應碼
##默認未啟用
--with-http_degradation_module

##啟用HTTP_Slice模塊
##將請求拆分為子請求,每個子請求返回一定范圍的響應
##默認未啟用
--with-http_slice_module

##啟用HTTP_Stub_Status模塊
##提供對基本狀態信息的訪問,管理員訪問這個頁面可以獲取基本信息,一般用於監控nginx的運行狀態
##默認未啟用
--with-http_stub_status_module

 

3.4 默認禁用模塊參數之Mail相關參數的啟用

##啟用POP3/IMAP4/SMTP郵件代理服務器
##也可以使用動態模塊即 --with-mail=dynamic
##默認不啟用
--with-mail

##啟用Mail_SSL模塊
##設置郵件代理服務器支持SSL/TLS協議
##默認不啟用,需要安裝OpenSSL依賴
--with-mail_ssl_module
 
4 默認啟用模塊參數的禁用
4.1 默認啟用模塊參數之stream相關參數的禁用
##禁用Stream_Limit_Conn模塊
##用於Nginx四層負載功能中限制並發連接數量以及下載帶寬限制功能
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_limit_conn_module

##禁用Stream_Access模塊
##用於Nginx四層負載功能中限制對某些客戶端地址的訪問
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_access_module

##禁用Stream_Geo模塊
##用於Nginx四層負載功能中從指定變量中獲取客戶端的IP地址,並將其嵌入到另外一個變量中
##默認情況下從"$remote_addr"變量中取得客戶端的IP地址
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_geo_module

##禁用Stream_Map模塊
##用於Nginx四層負載功能中創建變量,但創建的變量的值取決於其他變量的值
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_map_module

##禁用Stream_Splic_Clients模塊
##用於Nginx四層負載功能中創建適用於A/B測試的變量
##當開啟Stream_Core模塊時自動開啟此功能。
--without-stream_split_clients_module

##禁用Stream_Return模塊
##用於Nginx四層負載功能中向客戶端發送指定值,然后關閉連接
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_return_module
 
##禁用Stream_Upstream_Hash模塊
##提供四層負載均衡的一種調度方法,一般用於基於SessionID的會話保持場景下
##當開啟Stream_Core模塊時自動開啟此功能,不建議禁用
--without-stream_upstream_hash_module

##禁用Stream_Upstream_IP_Hash模塊
##提供四層負載均衡的一種調度方法,基於來源IP的會話保持方法,不過它是基於客戶端IP的Hash方法,客戶端可能受動態IP影響會發生變化
##一般很少采用
##當開啟Stream_Core模塊時自動開啟此功能。
--without-stream_upstream_least_conn_module 

##禁用Stream_Upstream_Zone模塊
##用於Nginx四層負載功能,可以將由"Upstream"指令定義的服務器組運行時的狀態存儲在共享內存區域中
##當開啟Stream_Core模塊時自動開啟此功能
--without-stream_upstream_zone_module

 

4.2 默認啟用模塊參數之HTTP相關參數的禁用

##禁用HTTP_Core模塊
##為Nginx的核心模塊,用於提供HTTP服務所有核心功能
##不建議禁用
--without-http

##禁用HTTP緩存
--without-http-cache

##禁用HTTP_Charset模塊
##用於將指定的字符集添加到"Content-Type"響應頭字段中,以及將數據從一個字符集轉換為另一個字符集
##用於字符集設置,不建議禁用
--without-http_charset_module

##禁用HTTP_Gzip模塊
##此模塊用於HTTP響應內容傳輸壓縮,可以將響應內存在傳輸時將其壓縮成Gzip編碼格式的響應傳送給客戶端
##使用Gzip編碼格式響應內容體積會變小,會提高傳輸效率,不建議禁用
--without-http_gzip_module

##禁用HTTP_SSI模塊
##過濾器,用於處理通過它響應中的SSI(Server Side Includes)命令
--without-http_ssi_module

##禁用HTTP_Userid模塊
##用於設置適用於客戶端標識的Cookie
--without-http_userid_module

##禁用HTTP_Access模塊
##用於限制對某些客戶端地址的訪問,Allow or Deny
##不建議禁用
--without-http_access_module

##禁用HTTP_Auth_Basic模塊
##用於HTTP基本身份驗證,使用用戶名和密碼來限制對資源的訪問
--without-http_auth_basic_module

##禁用HTTP_Mirror模塊
##用於將正式環境的流量拷貝到鏡像(測試)環境下,一般用於測試環境引入真實環境的流量實現對測試環境的壓力測試
--without-http_mirror_module

##禁用HTTP_Autoindex模塊
##用於在處理以斜杠字符('/')結尾的請求,並在找不到索引文件的情況下生成目錄列表
--without-http_autoindex_module

##禁用HTTP_Geo模塊
##用於從指定變量中獲取客戶端的IP地址,並將其嵌入到另外一個變量中
--without-http_geo_module

##禁用HTTP_Map模塊
##用於創建變量,但創建的變量的值取決於其他變量的值
--without-http_map_module

##禁用HTTP_Splic_Clients模塊
##用於創建適用於A/B測試的變量
##AB測試也稱之為拆分測試:將一個項目的兩個不同版本發布,用戶喜歡哪個版本就發布哪個版本
--without-http_split_clients_module

##禁用HTTP_Referer模塊
##用於防盜鏈,用於阻止對請求頭部"referer"字段具有無效值的請求訪問
--without-http_referer_module

##禁用HTTP_Rewerte模塊
##用於地址重寫,用於將來源請求地址重定向到指定的地址上,可以保護真實的地址,增加安全性
##需要安裝pcre依賴,不建議禁用
--without-http_rewrite_module

##禁用HTTP_Proxy模塊
##用於將請求代理傳遞到另外一台WEB服務器去處理
##Nginx的核心模塊,不建議禁用
--without-http_proxy_module

##禁用HTTP_FastCGI模塊
##用於將請求代理傳遞到另外一台FastCGI服務器去處理,一般用於反代PHP
##不建議禁用
--without-http_fastcgi_module

##禁用HTTP_UwSGI模塊
##用於將請求代理傳遞給另外一台UwSGI服務器去處理
--without-http_uwsgi_module

##禁用HTTP_SCGI模塊
##用於將請求代理傳遞給另外一台SCGI服務器去處理
--without-http_scgi_module

##禁用HTTP_Grpc模塊
##用於將請求代理傳遞給另外一台Grpc服務器去處理
--without-http_grpc_module

##用HTTP_Memcached模塊
##用於Nginx從Memcached服務器獲取響應內容
##一般用於Nginx+后端服務器+Memcached的環境下
##Memcached緩存服務器是基於內存的所以可以減少磁盤IO的使用,提高響應效率
--without-http_memcached_module

##禁用HTTP_Limit_Conn模塊
##用於限制並發連接數量以及下載帶寬限制
--without-http_limit_conn_module

##禁用HTTP_Limit_Req模塊
##用於限制請求數量,可以限制請求的頻率
--without-http_limit_req_module

##禁用HTTP_Empty_Gif模塊
##會在內容中常駐的一個1X1的透明空白的GIF圖像,當用戶請求時,返回該圖像,一般用於測試
--without-http_empty_gif_module

##禁用HTTP_Browser模塊
##用於創建變量,變量的值取決於請求頭中"user-agent"的值
##一般用於區別新式或者舊式瀏覽器
--without-http_browser_module

##禁用HTTP_Upstream_Hash模塊
##提供了由"Upstream"指令定義的一組服務器的負載均衡方法"Hash"
##會話保持
##不建議禁用
--without-http_upstream_hash_module

##禁用HTTP_Upstream_IP_Hash模塊
##提供了由"Upstream"指令定義的一組服務器的負載均衡方法"ip_hash"
##用於會話保持,不過它是基於客戶端IP的Hash方法,客戶端可能受動態IP影響會發生變化
##一般不建議采用
--without-http_upstream_ip_hash_module

##禁用HTTP_Upstream_Least_Conn模塊
##提供了由"Upstream"指令定義的一組服務器的負載均衡方法"least_conn"
##用於將請求傳遞到具有最少活動連接、權重較高(性能最好)的后端服務器上去處理。
--without-http_upstream_least_conn_module

##禁用HTTP_Upstream_Keepalive模塊
##可以為由"Upstream"指令定義的一組服務器提供保持長連接的功能
##使用它則會為每個Worker工作進程與后端服務器保持空閑的長連接,連接數由"keepalive"指令指定
##當空閑的長連接數量超過指定值時,將關閉最近最少使用的連接
--without-http_upstream_keepalive_module

##用HTTP_Upstream_Zone模塊
##可以將由"Upstream"指令定義的服務器組運行時的狀態存儲在共享內存區域中
--without-http_upstream_zone_module

 

4.3 默認啟用模塊參數之Mail相關參數的禁用

##禁用Mail_POP3模塊
##當啟用HTTP_Mail_Core模塊時,若不想使用POP3協議,則可以考慮單獨禁用此模塊
##不建議禁用
--without-mail_pop3_module
 
##禁用Mail_IMAP模塊
##當啟用HTTP_Mail_Core模塊時,若你不想使用IMAP4協議,則可以考慮單獨禁用此模塊
##不建議禁用
--without-mail_imap_module
 
##禁用Mail_SMTP模塊
##當啟用HTTP_Mail_Core模塊時,若你不想使用SMTP協議,則可以考慮單獨禁用此模塊
##不建議禁用
--without-mail_smtp_module

 

二  配置示例

./configure\
--prefix=/etc/nginx\
--sbin-path=/usr/sbin/nginx\
--modules-path=/usr/lib/nginx/modules\
--conf-path=/etc/nginx/nginx.conf\
--error-log-path=/var/log/nginx/error.log\
--http-log-path=/var/log/nginx/access.log\
--pid-path=/var/run/nginx.pid\
--lock-path=/var/run/nginx.lock\
--http-client-body-temp-path=/var/cache/nginx/client_temp\
--http-proxy-temp-path=/var/cache/nginx/proxy_temp\
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp\
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp\
--http-scgi-temp-path=/var/cache/nginx/scgi_temp\
--user=nginx\
--group=nginx\
--with-compat\
--with-threads\
--with-http_addition_module\
--with-http_auth_request_module\
--with-http_dav_module\
--with-http_flv_module\
--with-http_gunzip_module\
--with-http_gzip_static_module\
--with-http_mp4_module\
--with-http_random_index_module\
--with-http_realip_module\
--with-http_secure_link_module\
--with-http_slice_module\
--with-http_ssl_module \
--with-http_stub_status_module\
--with-http_sub_module\
--with-http_v2_module\
--with-mail\
--with-mail_ssl_module\
--with-stream\
--with-stream_realip_module\
--with-stream_ssl_module\
--with-stream_ssl_preread_module\

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM