1. 記在前面
configure時(shí)遇到錯(cuò)誤
nginx在編譯安裝時(shí)饲漾,進(jìn)入其源碼解壓目錄后,使用./configure
指令可以帶上如下這些參數(shù)進(jìn)行自定義編譯安裝缕溉,如果在編譯時(shí)遇到錯(cuò)誤考传,一般是相應(yīng)的依賴軟件包沒有安裝的,可以根據(jù)with后的名稱证鸥,安裝相應(yīng)軟件包的devel程序僚楞,如--with-http_ssl_module
要是報(bào)錯(cuò)找不到ssl相關(guān)的配置或者文件,可以執(zhí)行yum install -y openssl-devel
枉层,將openssl
和openssl-devel
及其依賴包安裝上锉试,然后再次執(zhí)行./configure
指令一般即可configure成功窘奏。with和without
我個(gè)人理解:凡是./configure
指令后只能使用without
選項(xiàng)的功能或者模塊渗常,其默認(rèn)不明確指定時(shí)即為with
即啟用狀態(tài)或者支持某功能的狀態(tài)席揽。
只能使用with
選項(xiàng)的功能或者模塊,其默認(rèn)不指定時(shí)即為不支持或者關(guān)閉狀態(tài)矩欠。
對(duì)于即可以with
又可以without
的功能或模塊則務(wù)必根據(jù)需求進(jìn)行明確指定。
2. nginx的configure參數(shù)
下面是nginx源碼程序的configure參數(shù):
-
--prefix=
指向安裝目錄悠夯。 -
--sbin-path=
指定執(zhí)行程序文件存放位置癌淮。 -
--modules-path=
指定第三方模塊的存放路徑。 -
--conf-path=
指定配置文件存放位置沦补。 -
--error-log-path=
指定錯(cuò)誤日志存放位置乳蓄。 -
--pid-path=
指定pid文件存放位置。 -
--lock-path=
指定lock文件存放位置夕膀。 -
--user=
指定程序運(yùn)行時(shí)的非特權(quán)用戶虚倒。 -
--group=
指定程序運(yùn)行時(shí)的非特權(quán)用戶組美侦。 -
--builddir=
指向編譯目錄。 -
--with-rtsig_module
啟用rtsig模塊支持魂奥。 -
--with-select_module
啟用select模塊支持菠剩,一種輪詢處理方式,不推薦在高并發(fā)環(huán)境中使用耻煤,禁用:--without-select_module具壮。 -
--with-poll_module
啟用poll模塊支持,功能與select相同,不推薦在高并發(fā)環(huán)境中使用哈蝇。 -
--with-threads
啟用thread pool支持棺妓。 -
--with-file-aio
啟用file aio支持。 -
--with-http_ssl_module
啟用https支持炮赦。 -
--with-http_v2_module
啟用ngx_http_v2_module支持怜跑。 -
--with-ipv6
啟用ipv6支持。 -
--with-http_realip_module
允許從請(qǐng)求報(bào)文頭中更改客戶端的ip地址吠勘,默認(rèn)為關(guān)性芬。 -
--with-http_addition_module
啟用ngix_http_additon_mdoule支持(作為一個(gè)輸出過濾器,分部分響應(yīng)請(qǐng)求)看幼。 -
--with -http_xslt_module
啟用ngx_http_xslt_module支持批旺,過濾轉(zhuǎn)換XML請(qǐng)求 。 -
--with-http_image_filter_mdoule
啟用ngx_http_image_filter_module支持诵姜,傳輸JPEG\GIF\PNG圖片的一個(gè)過濾器汽煮,默認(rèn)不啟用,需要安裝gd庫(kù)棚唆。 -
--with-http_geoip_module
啟用ngx_http_geoip_module支持暇赤,用于創(chuàng)建基于MaxMind GeoIP二進(jìn)制文件相配的客戶端IP地址的ngx_http_geoip_module變量。 -
--with-http_sub_module
啟用ngx_http_sub_module支持宵凌,允許用一些其他文本替換nginx響應(yīng)中的一些文本鞋囊。 -
--with-http_dav_module
啟用ngx_http_dav_module支持,增加PUT瞎惫、DELETE溜腐、MKCOL創(chuàng)建集合,COPY和MOVE方法瓜喇,默認(rèn)為關(guān)閉挺益,需要編譯開啟。 -
--with-http_flv_module
啟用ngx_http_flv_module支持乘寒,提供尋求內(nèi)存使用基于時(shí)間的偏移量文件望众。 -
--with-http_mp4_module
啟用ngx_http_mp4_module支持,啟用對(duì)mp4類視頻文件的支持。 -
--with-http_gzip_static_module
啟用ngx_http_gzip_static_module支持烂翰,支持在線實(shí)時(shí)壓縮輸出數(shù)據(jù)流夯缺。 -
--with-http_random_index_module
啟用ngx_http_random_index_module支持,從目錄中隨機(jī)挑選一個(gè)目錄索引甘耿。 -
--with-http_secure_link_module
啟用ngx_http_secure_link_module支持踊兜,計(jì)算和檢查要求所需的安全鏈接網(wǎng)址。 -
--with-http_degradation_module
啟用ngx_http_degradation_module 支持允許在內(nèi)存不足的情況下返回204或444代碼棵里。 -
--with-http_stub_status_module
啟用ngx_http_stub_status_module 支持查看nginx的狀態(tài)頁(yè)润文。 -
--without-http_charset_module
禁用ngx_http_charset_module這一模塊,可以進(jìn)行字符集間的轉(zhuǎn)換殿怜,從其它字符轉(zhuǎn)換成UTF-8或者從UTF8轉(zhuǎn)換成其它字符典蝌。它只能從服務(wù)器到客戶端方向,只有一個(gè)字節(jié)的字符可以轉(zhuǎn)換头谜。 -
--without-http_gzip_module
禁用ngx_http_gzip_module支持骏掀,同--with-http_gzip_static_module功能一樣。 -
--without-http_ssi_module
禁用ngx_http_ssi_module支持柱告,提供了一個(gè)在輸入端處理服務(wù)器包含文件(SSI)的過濾器截驮。 -
--without-http_userid_module
禁用ngx_http_userid_module支持,該模塊用來確定客戶端后續(xù)請(qǐng)求的cookies际度。 -
--without-http_access_module
禁用ngx_http_access_module支持葵袭,提供了基于主機(jī)ip地址的訪問控制功能。 -
--without-http_auth_basic_module
禁用ngx_http_auth_basic_module支持乖菱,可以使用用戶名和密碼認(rèn)證的方式來對(duì)站點(diǎn)或部分內(nèi)容進(jìn)行認(rèn)證坡锡。 -
--without-http_autoindex_module
禁用ngx_http_authindex_module,該模塊用于在ngx_http_index_module模塊沒有找到索引文件時(shí)發(fā)出請(qǐng)求窒所,用于自動(dòng)生成目錄列表鹉勒。 -
--without-http_geo_module
禁用ngx_http_geo_module支持,這個(gè)模塊用于創(chuàng)建依賴于客戶端ip的變量吵取。 -
--without-http_map_module
禁用ngx_http_map_module支持禽额,使用任意的鍵、值 對(duì)設(shè)置配置變量皮官。 -
--without-http_split_clients_module
禁用ngx_http_split_clients_module支持脯倒,該模塊用于基于用戶ip地址、報(bào)頭捺氢、cookies劃分用戶盔憨。 -
--without-http_referer_module
禁用ngx_http_referer_modlue支持,該模塊用來過濾請(qǐng)求讯沈,報(bào)頭中Referer值不正確的請(qǐng)求。 -
--without-http_rewrite_module
禁用ngx_http_rewrite_module支持。該模塊允許使用正則表達(dá)式改變URI缺狠,并且根據(jù)變量來轉(zhuǎn)向以及選擇配置问慎。如果在server級(jí)別設(shè)置該選項(xiàng),那么將在location之前生效挤茄,但如果location中還有更進(jìn)一步的重寫規(guī)則如叼,location部分的規(guī)則依然會(huì)被執(zhí)行。如果這個(gè)URI重寫是因?yàn)閘ocation部分的規(guī)則造成的穷劈,那么location部分會(huì)再次被執(zhí)行作為新的URI笼恰,這個(gè)循環(huán)會(huì)被執(zhí)行10次,最后返回一個(gè)500錯(cuò)誤歇终。 -
--without-http_proxy_module
禁用ngx_http_proxy_module支持社证,http代理功能。 -
--without-http_fastcgi_module
禁用ngx_http_fastcgi_module支持评凝,該模塊允許nginx與fastcgi進(jìn)程交互追葡,并通過傳遞參數(shù)來控制fastcgi進(jìn)程工作。 -
--without-http_uwsgi_module
禁用ngx_http_uwsgi_module支持奕短,該模塊用來使用uwsgi協(xié)議宜肉,uwsgi服務(wù)器相關(guān)。 -
--without-http_scgi_module
禁用ngx_http_scgi_module支持翎碑,類似于fastcgi谬返,也是應(yīng)用程序與http服務(wù)的接口標(biāo)準(zhǔn)。 -
--without-http_memcached_module
禁用ngx_http_memcached支持日杈,用來提供簡(jiǎn)單的緩存遣铝,提高系統(tǒng)效率。 -
--without-http_limit_conn_module
禁用ngx_http_limit_conn_module支持达椰,該模塊可以根據(jù)條件進(jìn)行會(huì)話的并發(fā)連接數(shù)進(jìn)行限制翰蠢。 -
--without-http_limit_req_module
禁用ngx_limit_req_module支持,該模塊可以實(shí)現(xiàn)對(duì)于一個(gè)地址進(jìn)行請(qǐng)求數(shù)量的限制啰劲。 -
--without-http_empty_gif_module
禁用ngx_http_empty_gif_module支持梁沧,該模塊在內(nèi)存中常駐了一個(gè)1*1的透明gif圖像,可以被非秤悖快速的調(diào)用廷支。 -
--without-http_browser_module
禁用ngx_http_browser_mdoule支持,創(chuàng)建依賴于請(qǐng)求報(bào)頭的值 栓辜。如果瀏覽器為modern恋拍,則$modern_browser等于modern_browser_value的值;如果瀏覽器為old藕甩,則$ancient_browser等于$ancient_browser_value指令分配的值施敢;如果瀏覽器為MSIE,則$msie等于1。 -
--without-http_upstream_ip_hash_module
禁用ngx_http_upstream_ip_hash_module支持僵娃,該模塊用于簡(jiǎn)單的負(fù)載均衡概作。 -
--with-http_perl_module
啟用ngx_http_perl_module支持,它使nginx可以直接使用perl或通過ssi調(diào)用perl默怨。 -
--with-perl_modules_path=
設(shè)定perl模塊路徑 -
--with-perl=
設(shè)定perl庫(kù)文件路徑 -
--http-log-path=
設(shè)定access log路徑 -
--http-client-body-temp-path=
設(shè)定http客戶端請(qǐng)求臨時(shí)文件路徑 -
--http-proxy-temp-path=
設(shè)定http代理臨時(shí)文件路徑 -
--http-fastcgi-temp-path=
設(shè)定http fastcgi臨時(shí)文件路徑 -
--http-uwsgi-temp-path=
設(shè)定http scgi臨時(shí)文件路徑 -
--http-scgi-temp-path=
設(shè)定http scgi臨時(shí)文件路徑 -
--without-http
禁用http server功能 -
--without-http-cache
禁用http cache功能 -
--with-mail
啟用POP3讯榕、IMAP4、SMTP代理模塊 -
--with-mail_ssl_module
啟用ngx_mail_ssl_module支持 -
--without-mail_pop3_module
禁用pop3協(xié)議匙睹。 -
--without-mail_iamp_module
禁用iamp協(xié)議愚屁。 -
--without-mail_smtp_module
禁用smtp協(xié)議。 -
--with-google_perftools_module
啟用ngx_google_perftools_mdoule支持痕檬,調(diào)試用霎槐,可以用來分析程序性能瓶頸。 -
--with-cpp_test_module
啟用ngx_cpp_test_module支持谆棺。 -
--add-module=
指定外部模塊路徑栽燕,啟用對(duì)外部模塊的支持。 -
--with-cc=
指向C編譯器路徑改淑。 -
--with-cpp=
指向C預(yù)處理路徑碍岔。 -
--with-cc-opt=
設(shè)置C編譯器參數(shù),指定--with-cc-opt="-I /usr/lcal/include",如果使用select()函數(shù)朵夏,還需要同時(shí)指定文件描述符數(shù)量--with-cc-opt="-D FD_SETSIZE=2048"蔼啦。 (PCRE庫(kù)) -
--with-ld-opt=
設(shè)置連接文件參數(shù),需要指定--with-ld-opt="-L /usr/local/lib"仰猖。(PCRE庫(kù)) -
--with-cpu-opt=
指定編譯的CPU類型捏肢,如pentium,pentiumpro,...amd64,ppc64... -
--without-pcre
禁用pcre庫(kù)。 -
--with-pcre
啟用pcre庫(kù)饥侵。 -
--with-pcre=
指向pcre庫(kù)文件目錄鸵赫。 -
--with-pcre-opt=
在編譯時(shí)為pcre庫(kù)設(shè)置附加參數(shù) 。 -
--with-md5=
指向md5庫(kù)文件目錄躏升。 -
--with-md5-opt=
編譯時(shí)為md5庫(kù)設(shè)置附加參數(shù)辩棒。 -
--with-md5-asm
使用md5匯編源。 -
--with-sha1=
指向sha1庫(kù)文件目錄膨疏。 -
--with-sha1-opt=
編譯時(shí)為sha1庫(kù)設(shè)置附加參數(shù)一睁。 -
--with-sha1-asm
使用sha1匯編源。 -
--with-zlib=
指向zlib庫(kù)文件目錄佃却。 -
--with-zlib-opt=
在編譯時(shí)為zlib設(shè)置附加參數(shù)者吁。 -
--with-zlib-asm=
為指定的CPU使用匯編源進(jìn)行優(yōu)化。 -
--with-libatomic
為原子內(nèi)存的更新操作的實(shí)現(xiàn)提供一個(gè)架構(gòu)饲帅。 -
--with-libatomic=
指向libatomic_ops的安裝目錄复凳。 -
--with-openssl=
指向openssl安裝目錄瘤泪。 -
--with-openssl-opt=
在編譯時(shí)為openssl設(shè)置附加參數(shù)。 -
--with-debug
啟用debug日志染坯。
3. 默認(rèn)with或without的選項(xiàng)
選項(xiàng)(功能) | with | without | 默認(rèn) |
---|---|---|---|
prefix | N/A | N/A | /usr/local/nginx |
sbin-path | N/A | N/A | prefix/sbin/nginx |
conf-path | N/A | N/A | prefix/conf/nginx.conf |
pid-path | N/A | N/A | prefix/logs/nginx.pid |
error-log-path | N/A | N/A | prefix/logs/error.log |
http-log-path | N/A | N/A | prefix/logs/access.log |
user | N/A | N/A | nobody |
group | N/A | N/A | nobody |
select_module | with | without | 如果平臺(tái)不支持kqueue,epoll,/dev/poll均芽,它將作為自動(dòng)選擇的事務(wù)處理方式 |
poll_module | with | without | 如果平臺(tái)不支持kqueue,epoll,/dev/poll,它將作為自動(dòng)選擇的事務(wù)處理方式 |
file_aio | with | N/A | 關(guān)閉 |
ipv6 | with | N/A | 關(guān)閉 |
http_ssl_module | with | N/A | 關(guān)閉 |
http_realip_module | with | N/A | 關(guān)閉 |
http_addition_module | with | N/A | 關(guān)閉 |
http_xslt_module | with | N/A | 關(guān)閉 |
http_image_filter_module | with | N/A | 關(guān)閉 |
http_geoip_module | with | N/A | 關(guān)閉 |
http_sub_module | with | N/A | 關(guān)閉 |
http_dav_module | with | N/A | 關(guān)閉 |
http_flv_module | with | N/A | 關(guān)閉 |
http_gzip_static_module | with | N/A | 關(guān)閉 |
http_random_index_module | with | N/A | 關(guān)閉 |
http_secure_link_module | with | N/A | 關(guān)閉 |
http_degradation_module | with | N/A | 關(guān)閉 |
http_stub_status_module | with | N/A | 關(guān)閉 |
http_charset_module | N/A | without | 啟用 |
http_gzip_module | N/A | without | 啟用 |
http_ssi_module | N/A | without | 啟用 |
http_userid_module | N/A | without | 啟用 |
http_access_module | N/A | without | 啟用 |
http_auth_basic_module | N/A | without | 啟用 |
http_autoindex_module | N/A | without | 啟用 |
http_geo_module | N/A | without | 啟用 |
http_map_module | N/A | without | 啟用 |
http_split_clients_module | N/A | without | 啟用 |
http_referer_module | N/A | without | 啟用 |
http_rewrite_module | N/A | without | 啟用 |
http_proxy_module | N/A | without | 啟用 |
http_fastcgi_module | N/A | without | 啟用 |
http_uwsgi_module | N/A | without | 啟用 |
http_scgi_module | N/A | without | 啟用 |
http_memcached_module | N/A | without | 啟用 |
http_limit_conn_module | N/A | without | 啟用 |
http_limit_req_module | N/A | without | 啟用 |
http_empty_gif_module | N/A | without | 啟用 |
http_brower_module | N/A | without | 啟用 |
http_upstream_ip_hash_module | N/A | without | 啟用 |
http_perl_module | with | N/A | 禁用 |
http | N/A | without | 啟用 |
http-cache | N/A | without | 啟用 |
with | N/A | 禁用 | |
pcre | with | without | N/A |
stream | with | N/A | 禁用 |