Tengine

Tengine

Tengine是由淘寶網發起的Web伺服器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。它的目的是打造一個高效、安全的Web平台。

基本介紹

  • 外文名:Tengine
  • 發起單位淘寶網
  • 基礎Nginx
  • 目的:打造一個高效、安全的Web平台
發展,功能,編譯,特性詳解,版本發布,

發展

Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗
它的最終目標是打造一個高效、穩定、安全、易用的Web平台。
從2011年12月開始,Tengine成為一個開源項目。
現在,它由Tengine團隊開發和維護。Tengine團隊的核心成員來自於淘寶、搜狗等網際網路企業。

功能

以下沿引項目主頁上的特性介紹:
  • 繼承Nginx-1.6.2的所有特性,兼容Nginx的配置;
  • 動態模組載入(DSO)支持。加入一個模組不再需要重新編譯整個Tengine;
  • 支持SO_REUSEPORT選項,建連性能提升為官方nginx的三倍;
  • 支持SPDY v3協定,自動檢測同一連線埠的SPDY請求和HTTP請求;
  • 流式上傳到HTTP後端伺服器或FastCGI伺服器,大量減少機器的I/O壓力;
  • 更加強大的負載均衡能力,包括一致性hash模組、會話保持模組,還可以對後端的伺服器進行主動健康檢查,根據伺服器狀態自動上線下線,以及動態解析upstream中出現的域名;
  • 輸入過濾器機制支持。通過使用這種機制Web套用防火牆的編寫更為方便;
  • 支持設定proxy、memcached、fastcgi、scgi、uwsgi在後端失敗時的重試次數
  • 動態腳本語言Lua支持。擴展功能非常高效簡單;
  • 支持管道(pipe)和syslog(本地和遠端)形式的日誌以及日誌抽樣;
  • 支持按指定關鍵字(域名,url等)收集Tengine運行狀態;
  • 組合多個CSS、JavaScript檔案的訪問請求變成一個請求;
  • 自動去除空白字元和注釋從而減小頁面的體積
  • 自動根據CPU數目設定進程個數和綁定CPU親緣性;
  • 監控系統的負載和資源占用從而對系統進行保護;
  • 顯示對運維人員更友好的出錯信息,便於定位出錯機器;
  • 更強大的防攻擊(訪問速度限制)模組;
  • 更方便的命令行參數,如列出編譯的模組列表、支持的指令等;
  • 可以根據訪問檔案類型設定過期時間;
  • ……

編譯

tengine的編譯參數與nginx基本一致,針對tengine的新增特性,可以在編譯的時候增加一些參數,比如增加“ --with-http_concat_module”這一參數,就可以使將tengine的組合多個訪問請求變為一個的功能打開。以下是一段tengine的編譯參數實例:
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_concat_module --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module --with-pcre=/usr/local/src/pcre-8.20

特性詳解

CDN Combo
這一功能可以組合Javascript 以及 Css檔案
使用方法:
a)以兩個問號(??)激活combo
b)多檔案之間用半角逗號(,)分開
c)用一個?來辨識時間戳
作用:
遵循Yahoo!前端最佳化準則第一條:減少HTTP請求傳送次數
強制gzip壓縮
默認開啟的功能
作用:
Tengine會在用戶瀏覽器沒有在請求中帶Accept-Encoding時通過下列方式判斷是否gzip,保證只要支持gzip的瀏覽器中都會被覆蓋到.
a)如果瀏覽器沒有帶有Accept-Encoding且cookie中沒有gzip支持標識
b)通過User-Agent判斷是否支持
c)傳送一段js腳本,腳本中請求一個永遠都gzip的url
d)如果該段內容被執行,則寫入一個cookie值標識此瀏覽器支持gzip
過載保護
在http{}段添加
sysguard on; sysguard_load load=4 action=/high_load.html; #系統負載,超過設定值了就跳轉到action設定的頁面
sysguard_mem swapratio=10% action=/mem_high.html #記憶體負載,超過設定值了就跳轉到action設定的頁面
作用:
可以在系統超負載時友好提示用戶,增強用戶體驗。
提示:
大家可以通過 top命令來查看當前系統負載,最好是藉助第三方工具進行伺服器負載監控,進行數天或1個月的監控,分析出準確適合的運營數據後再設定過載保護功能。
修改nginx默認使用的訊息模型
添加方法:
在events {}段添加
use epoll;
作用:
使用linux核心最新支持的epoll句柄處理模型,對於大流量的網站這個配置開啟提升會非常大。
(注:確定系統核心版本>=2.5.44 最好是2.6+, 查看方式uname -a)
隱藏webServerName
添加方法:
在http{} 段內添加
server_tag off;
server_tag IIS/6.0;
作用:
隱藏真實web伺服器名稱,防止hacker有針對性的突破
nginx進程設定簡化
添加方法:
修改配置檔案中的worker_process為以下
worker_processes auto;worker_cpu_affinity auto;
作用:
在不同硬體環境下對於nginx本身的生產進程最佳化會由webserver自動調整,而無需專業知識進行調優。
擴展4xx,5xx錯誤提示
添加方法:
在http{} 段內添加
server_info on;server_admin [email protected];
作用:
展示管理員聯繫方式以便用戶反饋錯誤
擴展的nginx命令行參數
方法:
切換至
/usr/local/nginx/sbin
列出當前已編譯的模組
./nginx -m
列出當前支持的指令
./nginx -l
日誌抽樣支持
方法:
Example:access_log xxxx ratio=0.01;
作用:
減少日誌數量。

版本發布

  • Tengine-2.1.1 [2015-08-12]
  • Feature: 支持動態upstream更新 [yzprofile]
  • Feature: 增強ngx_http_reqstat_module模組 [cfsego]
  • Feature: 增加ssl_verify_client_exception指令 [InfoHunter]
  • Change: 降低解析配置的記憶體消耗 [ilexshen]
  • Change: trim模組增加$trim_bytes和$trim_original_bytes [taoyuanyuan]
  • Change: 升級debian二進制包的版本到2.1.0 [PeterDaveHello]
  • Change: 將ngx_http_spdy_module模組集成到travis-ci自動編譯 [chobits]
  • Change: 更新SPDY/3.1 [chobits]
  • Change: SPDY時關閉proxy_request_buffering指令 [chobits]
  • Change: 增加編譯選項支持設定linker [tanguofu]
  • Bugfix: 修復SPDY的Backport bug [nginx official, ym]
  • Bugfix: SPDY和SSL模組一起編譯時報錯 [ym]
  • Bugfix: 修復打開reuseport的bug [monadbobo]
  • Tengine-2.1.0 [2014-12-19]
  • Feature: 支持SO_REUSEPORT選項,以提升CPU負載均衡性和性能 [monadbobo]
  • Feature: 支持動態解析upstream中出現的域名 [InfoHunter]
  • Feature: rewrite指令支持重定向到命名location [yzprofile]
  • Feature: image_filter指令支持crop_keepx和crop_keepy參數 [Lax]
  • Feature: consistent_hash模組和session_sticky模組支持SSL會話保持 [dinic]
  • Feature: 支持travis-ci.org自動編譯 [Jamyn]
  • Feature: 健康檢查模組支持FASTCGI檢查 [yzprofile]
  • Feature: 增強sysguard模組的功能 [InfoHunter]
  • Feature: 新增變數$normalized_request得到規範化的請求 [yunkai]
  • Feature: dso的include指令支持通配符 [monadbobo]
  • Feature: 新增gzip_clear_etag指令 [taoyuanyuan]
  • Feature: 為log_escape指令添加unprintable參數 [skoo87]
  • Change: 合併nginx-1.6.2版本的修改 [cfsego, taoyuanyuan, chobits]
  • Change: round robin負載均衡算法隨機選擇某個源站作為循環起點 [taoyuanyuan]
  • Change: 對共享記憶體中的碎片進行最佳化 [chobits]
  • Bugfix: SPDY/3關閉連線時去掉drop標誌 [chobits]
  • Bugfix: 修復SPDY/3出現連線泄漏的問題 [chobits]
  • Bugfix: 修復limit_req模組將長度超過255個字元的key截斷的問題 [chobits]
  • Bugfix: 解析/etc/resolv.conf中的IPv6地址出錯 [lifeibo]
  • Bugfix: 通過紅黑樹查找到錯誤的upstream [taoyuanyuan]
  • Tengine-2.0.3 [2014-05-30]
  • Feature: 支持按指定關鍵字(域名,url等)收集Tengine運行狀態 [cfsego]
  • Feature: 支持debian、ubuntu打包 [betetrpm, szepeviktor]
  • Change: 合併nginx-1.4.7的修改 [chobits]
  • Change: 使用紅黑樹最佳化upstream配置解析和查找 [SarahWang]
  • Change: 更新版權資訊
  • Bugfix: 修復session-sticky模組相關問題 [dinic]
  • Bugfix: 修復DSO編譯和安裝模組的問題 [cfsego]
  • Bugfix: 修復spdy相關問題 [chobits]
  • Tengine-2.0.2 [2014-03-28]
  • Bugfix: 在讀事件處理完後繼續傳送SPDY數據 [chobits]
  • Bugfix: CVE-2014-0133以及CVE-2014-0088 [chobits]
  • Tengine-2.0.1 [2014-03-06]
  • Feature: 請求體不快取的機制支持chunked輸入 [yaoweibin]
  • Feature: trim模組支持更多規則,支持根據變數啟用 [taoyuanyuan]
  • Feature: 利用/etc/resolv.conf自動配置resolver [lifeibo, yaoweibin]
  • Feature: 增加$ascii_變數前綴,可以生成任意ASCII字元 [yzprofile]
  • Feature: 增加"image_filter_crop_offset"指令 [lax]
  • Change: 合併截至nginx-1.4.6版本的所有修改 [chobits, cfsego]
  • Bugfix: 修正使用長連線進行健康檢查時報錯的問題 [lilbedwin]
  • Bugfix: 修正使用WebSocket時nginx崩潰的問題 [Hao Chen]
  • Bugfix: 減少nginx處理大檔案時的記憶體消耗 [cfsego]
  • Bugfix: 在未設定URI時,禁用跳轉到named locations的重定向
  • Tengine-2.0.0 [2014-01-08]
  • Feature: 增強DSO模組,編譯動態模組不再依賴原始編譯環境 [monadbobo]
  • Feature: 支持SPDY v3協定,自動檢測同一連線埠的SPDY請求和HTTP請求 [lilbedwin、chobits]
  • Feature: 支持設定proxy、memcached、fastcgi、scgi、uwsgi在後端失敗時的重試次數 [supertcy]
  • Feature: tfs模組在RcServer心跳時匯報訪問統計 [zhcn381]
  • Feature: if指令支持比較數值大小:'>'、'<'、'>='、'<=' [flygoast]
  • Feature: 健康檢查模組支持長連線檢查 [lilbedwin]
  • Feature: trim模組支持SSI和ESI的注釋 [taoyuanyuan]
  • Feature: expires_by_types指令支持使用通配符,例如'text/*'匹配子類型 [zhcn381]
  • Feature: 增加$base64_decode_變數前綴,支持計算指定變數的base64解壓結果 [yzprofile]
  • Feature: 增加$md5_encode_變數前綴,支持計算指定變數的md5哈希 [yzprofile]
  • Feature: 增加$time_http變數,支持按http格式輸出當前時間 [flygoast]
  • Feature: 增加$full_request變數,取得原始的請求url,包括協定類型和域名 [yzprofile]
  • Feature: 增加$escape_uri_變數前綴,支持對指定變數進行url轉義 [yzprofile]
  • Feature: 增加$raw_uri變數,支持取得不含參數的原始uri [flygoast]
  • Feature: 支持按微秒記錄子請求的請求時間 [jinglong]
  • Feature: 增加API,支持對url進行base64編碼 [lilbedwin]
  • Change: 合併nginx-1.4.4版本的修改 [cfsego]
  • Change: 修改stub_status模組,不對子請求進行統計 [jinglong]
  • Bugfix: 修正footer模組,不處理含有Content-Encoding頭的回響 [yaoweibin]
  • Bugfix: 修正client_body_postpone_size指令設定為0時出現的問題 [yaoweibin]
  • Bugfix: 修正Lua模組編譯時出現警告 [diwayou]
  • Tengine-1.5.2 [2013-11-22]
  • Security: 修復CVE-2013-4547安全漏洞
  • Bugfix: 修復limit_req模組中nodelay無效的問題 [cfsego]
  • Bugfix: 修復trim模組在替換javascript異常的問題 [taoyuanyuan]
  • Tengine-1.5.1 [2013-08-29]
  • Feature: 增加retry_cached_connection指令,可以關閉對後端長連線的無條件重試 [yaoweibin]
  • Feature: sysguard模組的sysguard_load指令中加入ncpu參數 [yzprofile]
  • Bugfix:修復referer模組在https協定時正則匹配失效的問題 [lilbedwin]
  • Bugfix:修復trim模組可能產生0長度塊的問題 [taoyuanyuan]
  • Bugfix:修復在使用--without-dso選項時出現的編譯錯誤 [zhuzhaoyuan]
  • Bugfix:修復兩個編譯警告 [zzjin, diwayou]
  • Tengine-1.5.0 [2013-07-31]
  • Feature: 增加DSO(動態模組載入)兼容性校驗機制 [monadbobo]
  • Feature: 增加了請求體不快取到磁碟的機制,HTTP代理和FastCGI模組收到部分請求體即可以轉發給後端伺服器 [yaoweibin]
  • Feature: 增加了trim模組,該模組可以自動刪除HTML頁面中無意義的空白符和注釋,減小頁面的大小 [taoyuanyuan]
  • Feature: 加入accept filter機制,支持在連線接收以後進行過濾處理 [yzprofile]
  • Feature: 現在server_tag指令可以改變默認錯誤頁面的伺服器標識 [zhuzhaoyuan]
  • Bugfix:修復access_log指令中buffer參數失效的問題 [cfsego]
  • Bugfix:修復session_sticky模組在某些情況下沒有發出session cookie的問題 [dinic]
  • Tengine-1.4.6 [2013-05-14]
  • Bugifx:合併nginx-1.2.9的更新,修正CVE-2013-2070帶來的安全問題。 該安全問題在1.4.0以後版本開始出現 [yaoweibin]
  • Tengine-1.4.5 [2013-05-01]
  • Feature:增加一致性hash模組,可以為後端伺服器提供一致性hash的負載均衡方法 [dinic]
    Feature:通過keepalive_timeout指令可以設定後端keepalive連線的逾時時間 [jinglong]
    Feature:加入所有模組靜態編譯或者所有模組動態編譯的編譯選項 [monadbobo]
    Change:更新Lua模組至0.7.19 [jinglong]
    Change:合併Nginx-1.2.8的更新 [yaoweibin]
    Bugfix:修正syslog和upstream_check模組在GCC-4.4.5上的編譯警告 [magicbear]
  • Tengine-1.4.4 [2013-03-21]
  • Feature:增加session_sticky模組,可以為客戶端和後端伺服器提供會話保持功能 [dinic]
  • Feature:sysguard模組增加空閒記憶體監控功能 [lifeibo]
  • Feature:geoip模組增加對地區資料庫的支持 [jasonlfunk]
  • Feature:log_empty_request指令增加對408回響的空請求支持 [yaoweibin]
  • Change:合併Nginx-1.2.5至Nginx-1.2.7的更新 [cfsego]
  • Change:默認關閉CPU親緣性 [cfsego]
  • Bugfix:修正在Solaris 11上sysguard和upstream_check模組編譯出錯的問題 [lifeibo, yaoweibin]
  • Bugfix:修正TFS模組返回值可能錯誤的問題 [zhcn381]
  • Bugfix: 修正TFS模組上傳大檔案可能出錯的問題 [zhcn381]
  • Tengine-1.4.3 [2013-01-21]
  • Feature:增加TFS模組,可以通過RESTful接口與TFS分散式檔案系統通信 [zhcn381, monadbobo]
  • Feature:增加$sent_cookie_XXX系列變數,可以獲取回響中Set-Cookie頭的cookie值 [skoo87]
  • Feature:syslog指令的傳送地址支持域名 [cfsego]
  • Change:upstream塊中的server指令增加id屬性 [yaoweibin]
  • Bugfix:DSO模組修正reload時可能失敗的問題 [monadbobo]
  • Bugfix:修復upstream_check模組當逾時時間長於檢查時間可能導致段錯誤的問題 [yaoweibin]
  • Bugfix:修復user_agent模組在請求缺少User-Agent頭會段錯誤的問題 [dinic]
  • Bugfix:修復sysguard模組在Mac OS下面不能工作的問題 [lizi]
  • Tengine-1.4.2 [2012-11-22]
  • Feature:增加--dso-tool-path配置選項,可以選擇dso_tool腳本的安裝目錄 [monadbobo]
  • Feature:增加$unix_time變數,表示當前的時間戳秒數 [yaoweibin]
  • Feature:Makefile中增加test命令以便運行測試用例 [yaoweibin]
  • Feature:sysguard模組可在location裡面配置 [lifeibo]
  • Change:合併Nginx-1.2.4和Nginx-1.2.5的更新 [zhuzhaoyuan]
  • Change:增加對input_filter函式返回值的檢查,防止第三方模組調用出錯 [cfsego]
  • Bugfix:修復limit_req指令不能使用4個參數的問題,感謝LazyZhu的報告 [monadbobo]
  • Bugfix:修復在cygwin下面編譯sysinfo檔案出錯的問題,感謝Cao Peiran的報告 [lifeibo]
  • Bugfix:修復user-agent模組安裝時需要拷貝browsers配置檔案的問題,感謝Jianbin Xiao的報告 [monadbobo]
  • Bugfix:修復DSO模組RPM打包安裝目錄出錯的問題,感謝Jianbin Xiao和Ren Xiaolei的報告 [monadbobo]
  • Tengine-1.4.1 [2012-10-10]
  • Feature: 添加jemalloc庫的支持 [fanjizhao]
  • Feature: 加入$dollar變數, 它的值就是美元符號 [zhuzhaoyuan]
  • Feature: 為worker_cpu_affinity指令加入off選項 [cfsego]
  • Change: 當工作進程異常退出以後,新進程不會綁定CPU親緣性 [cfsego]
  • Bugfix: 修正在Mac OS作業系統下,Lua模組與LuaJIT動態編譯時出現的錯誤 [monadbobo]
  • Bugfix: 修正動態編譯第三方filter模組時出現的模組執行順序錯誤 [monadbobo]
  • Tengine-1.4.0 [2012-09-05]
  • Feature: 增加動態模組載入支持(DSO),要添加一個模組不再需要重新編譯tengine了 [monadbobo]
  • Feature: 更新Lua模組到最新的穩定版本 [chaoslawful, agentzh, jinglong]
  • Feature: 為健康檢查模組增加json和csv格式的輸出 [yaoweibin]
  • Feature: 增加log_empty_request指令,可以用來關掉空請求日誌——那些連線了但沒發數據的連線 [zhuzhaoyuan]
  • Feature: 給concat模組增加concat_delimiter指令,設定檔案間的間隔內容 [dinic]
  • Feature: 增加concat_ignore_file_error指令並允許concat的語法更寬鬆 [dinic]
  • Feature: 給error_page指令增加default選項,以恢復所有的錯誤頁面為默認值 [jinglong]
  • Feature: 給proc模組增加priority指令,可設定proc進程的優先權 [yzprofile]
  • Feature: 給proc模組增加delay_start指令,可設定延遲載入時間 [yzprofile]
  • Change: 集成最新nginx穩定版本1.2.3的內容 [zhuzhaoyuan]
  • Bugfix: 修正一個geo模組設了range但是沒有默認值時產生的段錯誤問題 [yzprofile]
  • Bugfix: 修正一個proc模組的空指針問題 [yzprofile]
  • Bugfix: 修正一個健康檢查模組的socket泄漏問題 [yaoweibin]
  • Bugfix: 修正limit_req模組的若干問題 [monadbobo]
  • Bugfix: 修正若干日誌輸出類型錯誤的問題 [yaoweibin]
  • Bugfix: 修正perl模組和proc一起打開的一個編譯錯誤 [yzprofile]
  • Tengine-1.3.0 [2012-05-25]
  • Feature:加入Lua模組,可以在配置中使用Lua語言 [chaoslawful, agentzh]
  • Feature:加入procs模組,可以更方便的開啟獨立進程 [yzprofile]
  • Change:user_agent模組中參數nongreedy改名為greedy [dinic]
  • Bugfix:修復syslog指令中因為指針未初始化引起的段錯誤 [cfsego]
  • Bugfix:修復syslog指令打開--with-ipv6選項引起的編譯錯誤 [cfsego]
  • Tengine-1.2.5 [2012-05-09]
  • Feature:增加upstream_check模組,對後端伺服器做主動健康檢查,以自動的下線失效的伺服器 [yaoweibin]
  • Feature:允許syslog輸出日誌時指定程式的標識(program identifier) [cfsego]
  • Change:合併nginx-1.0.14至nginx-1.0.15之間的修改 [zhuzhaoyuan]
  • Change:將accept_mutex_delay的默認值從500毫秒更改為100毫秒以提高性能 [zhuzhaoyuan]
  • Bugfix:修復syslog的一個在後端伺服器連線不上導致端錯誤的bug [cfsego]
  • Bugfix:修復access_log可能和buffer參數衝突的bug [cfsego]
  • Tengine-1.2.4 [2012-03-30]
  • Feature:增加user_agent模組 [dinic]
  • Feature:增加log_escape指令 [agentzh, skoo87]
  • Change:合併nginx-1.0.12至nginx-1.0.14之間的修改 [zhuzhaoyuan]
  • Bugfix:修復limit_req模組的一個bug [liseen.wan]
  • Bugfix:修復subrequest的一個bug [lifeibo]
  • Tengine-1.2.3 [2012-02-27]
  • Feature:增加request_time_cache指令,用來控制是否啟用精確的回響時間 [yzprofile]
  • Feature:增加slice模組,獲得一個檔案的一個片段,可以添加頭和尾 [zhuzhaoyuan]
  • Change:合併nginx-1.0.11至nginx-1.0.12之間的修改 [zhuzhaoyuan]
  • Change:去掉無用的user-agent判斷 [zhuzhaoyuan]
  • Bugfix:修復upstream中的一個process_header的bug [lifeibo]
  • Bugfix:修復expires_by_types的一個bug [lifeibo]
  • Tengine-1.2.2 [2012-01-11]
  • Feature:增加input body filter機制 [cfsego]
  • Feature:對mail部分支持ssl的dialog [cfsego]
  • Change:合併進nginx-1.0.10至nginx-1.0.11之間的修改 [zhuzhaoyuan]
  • Change:默認關掉lingering_close [zhuzhaoyuan]
  • Bugfix:修正日誌管道時的bug [cfsego]
  • Bugfix:修正limit_req的forbid_action無效的bug [monadbobo]
  • Bugfix: 修正backtrace模組backtrace_max_stack_size的問題 [monadbobo]
  • Bugfix:修正內容為空footer模組輸出不正確的問題 [dinic]
  • Bugfix:修正syslog時hostname最後一個字母丟失的問題 [cfsego]
  • Tengine-1.2.1 [2011-12-06]
  • Bugfix:修正默認錯誤日誌和訪問日誌不存在時啟動報錯的bug [yzprofile]
  • Tengine-1.2.0 [2011-11-29]
  • Feature:錯誤日誌和訪問日誌支持輸出到syslog [cfsego]
  • Feature:錯誤日誌和訪問日誌支持輸出到管道的方式 [cfsego]
  • Feature:增加realloc相關的API,包括記憶體池 [gongyuan]
  • Feature:HTTP日誌支持更多的有關時間的變數 [skoo87]
  • Feature:增加backtrace模組,在coredump時輸出調用棧 [monadbobo]
  • Feature:limit_req功能增強,增加白名單,可以有多個條件 [monadbobo]
  • Feature:sysguard模組,load和記憶體占用偏高時進行保護 [lifeibo]
  • Feature:增加API(ngx_http_header_in/ngx_http_header_out),用來取輸入和輸出的HTTP頭信息 [lifeibo]
  • Feature:增加兩個變數$request_time_msec和$request_time_usec,分別是相應時間的毫秒表示和微秒表示 [jinglong]
  • Feature:增加footer模組,可以在HTML末尾添加內容(支持變數) [yunxing]
  • Feature:增加變數$conn_requests,記錄當前request是連線上的第幾個 [lieyuan]
  • Feature:增加變數$host_comment,插入注釋功能,以說明哪台機器產生的請求 [yunxing]
  • Feature:訪問日誌增加ratio參數,抽樣功能,可以減少日誌的記錄量 [cfsego]
  • Feature:增加server_admin、server_info指令,出錯信息提示,更友好的錯誤頁面 [lieyuan]
  • Feature:增加命令行參數-d,把配置檔案的內容全部列印出來 [piaoliang]
  • Feature:增加指令expires_by_types,可以根據types來設定逾時 [lifeibo]
  • Feature:增加命令行參數-l,可以列出所有的directives [dinic]
  • Feature:增加ngx_atoll的api,可以將字元串轉換成64位整數,支持32位與64位系統 [lifeibo]
  • Feature:status line(302,405)現在採用RFC 2616的標準 [zhuzhaoyuan]
  • Feature:ngx_escape_uri/ngx_unescape_uri現在支持PHP/Java的編解碼格式 [zhuzhaoyuan]
  • Feature:配置檔案include多個檔案時按照字母順序進行包含 [zhuzhaoyuan]
  • Feature:error_page指令增強,支持default,可以把把上一級設定的error_page重新設定 [zhuzhaoyuan]
  • Feature:增加對每請求的回響時間的統計(cacti,tsar) [jinglong]
  • Feature:增加指令server_tag,更強大的控制HTTP伺服器的Server頭是否顯示以及內容是什麼 [jinglong]
  • Feature:自動調整worker進程的數目和綁定CPU親緣性 [cfsego]
  • Feature:增加指令ssl_pass_phrase_dialog,SSL對key進行加密功能 [cfsego]
  • Feature:增加-s選項的start參數 [zhuzhaoyuan]
  • Feature:增加-m選項,可以把已編譯的模組列出來 [zhuzhaoyuan]
  • Change:更改msie_padding的默認值為關掉 [zhuzhaoyuan]
  • Bugfix:修復open_file_cache在已經檢測到快取檔案發生變化後,仍然返回過時的檔案狀態信息的問題 [cfsego]
  • Bugfix:修復upsteam在subrequest in memory且keepalive時會導致timeout的bug [lifeibo]
  • Bugfix:修復$sent_http_connection和$sent_http_keep_alive記錄不正確的問題 [zhongsheng]
  • Bugfix:修正error_page不能發現重複的code的問題,不能正常繼承上一級設定的問題 [zhuzhaoyuan]
  • Bugfix:修正Nginx在處理FastCGI時有重複HTTP頭會core dump的bug [monadbobo]
  • Bugfix:修正Nginx對CPU親緣性設定不正確的bug [cfsego]

相關詞條

熱門詞條

聯絡我們