发布于 2015-12-30 11:01:56 | 279 次阅读 | 评论: 0 | 来源: 网友投递
OpenResty WEB服务器
OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。
OpenResty 1.9.7.1 发布,更新内容如下:
upgraded the Nginx core to 1.9.7.
see the changes here: http://nginx.org/en/CHANGES
./configure
: now we automatically set the environment MACOSX_DEPLOYMENT_TARGET
to the current Mac OS X version (unless the environment is already set) to ensure the LuaJIT build uses the current versions of the system libraries. thanks bsyk for the report.
win32: use Windows line breaks in the resty
script file of the binary distribution.
win32: upgraded pcre to 8.38 and openssl to 1.0.2e.
win32: enabled ngx_http_realip_module, ngx_http_addition_module ngx_http_sub_module, and ngx_http_stub_status_module in the win32 binary package by default.
upgraded LuaNginxModule to 0.9.20.
avoided allocating the host name buffer when getting peers from the connection pool.
recycled the stream cosockets' request cleanup records.
feature: added new API functions ngx.worker.count() and ngx.worker.id() for returning the total count of nginx worker processes and the ordinal number (0, 1, 2, and etc) of the current worker. thanks YuanSheng Wang for the patch. also added pure C API for them.
feature: added new API functions ngx.timer.pending_count() and ngx.timer.running_count(). thanks Simon Eskildsen for the patch.
feature: added new config directive access_by_lua_no_postpone. thanks Delta Yeh for the patch.
feature: added new constant ngx.HTTP_TEMPORARY_REDIRECT
(307) and support for 307 in ngx.redirect(). thanks RocFang for the patch.
feature: added new API function ngx.req.is_internal() for testing if the current request is an internal request. thanks Ruoshan Huang for the patch.
feature: added many more HTTP status constants as ngx.HTTP_XXX
. thanks Vadim A. Misbakh-Soloviov for the patch.
bugfix: bogus nginx.conf
parse failure "Lua code block missing the "}" character" might happen when there are many Lua code blocks inlined. thanks Andreas Lubbe for the report.
bugfix: bogus "subrequests cycle" errors might occur with nginx 1.9.5+ due to the recent changes in the nginx core.
bugfix: ngx.req.get_uri_args/ngx.req.get_post_args: avoided allocating a zero-size buffer in the nginx memory pool since it might cause problems. thanks Chuanwen Chen for the report and patch.
bugfix: modifying the built-in header X-Forwarded-For
via ngx.req.set_header() or ngx.req.clear_header() might not take effect in some parts of the nginx core (like $proxy_add_x_forwarded_for
). thanks aviramc for the patch.
bugfix: we lacked detailed context info in error messages due to use of disabled Lua API in body_filter_by_lua*. thanks Dejiang Zhu for the patch.
bugfix: fixed a potential data alignment issue in the ngx.var setter API.
bugfix: we had data alignment issues in the subrequest API which can explode on systems like ARM. thanks Stefan Parvu for providing the test environment.
bugfix: there was a data alignment issue in the tcpsock:setkeepalive() implementation which might lead to crashes on ARM systems. thanks Stefan Parvu for the report.
bugfix: fixed C compiler warnings "comparison between signed and unsigned integer expressions" on Windows.
optimize: avoided allocating in the nginx request memory pool in stream-typed cosockets' receive*() methods. thanks Lourival Vieira Neto for the patch.
optimize: reduced memory allocations in stream-typed cosockets. thanks Dejiang Zhu for the patch.
doc: documented the minimum size threshold in lua_shared_dict. thanks mlr3000 for the original patch.
upgraded LuaRestyCoreLibrary to 0.1.3.
Makefile: added support for relative paths in LUA_LIB_DIR
.
minor code adjustments from Aapo Talvensaari.
upgraded HeadersMoreNginxModule to 0.29.
bugfix: changing the built-in header X-Forwarded-For
via more_set_input_headers or more_clear_input_headers might not take effect in some parts of the nginx core (like $proxy_add_x_forwarded_for
).
upgraded LuaRestyRedisLibrary to 0.22.
tweaked Makefile to allow relative paths in LUA_LIB_DIR
when DESTDIR
is not specified.
optimize: moved string concatenation for the Redis request construction onto the C land (taking advantage of the feature that cosockets' send method accepts a table of strings). thanks Dejiang Zhu for the patch.
optimize: minor optimizations from Aapo Talvensaari.
upgraded RestyCLI to 0.05.
bugfix: resty: nginx might report the error "The system cannot find the file specified" in CreateFile()
on Windows XP. thanks cover_eye for the report.
upgraded LuaJIT to v2.1-20151219: https://github.com/openresty/luajit2/tags
FFI: Fix SPLIT pass for CONV i64.u64.
x64/LJ_GC64: Fix stack growth in vararg function setup.
DynASM/x86: Add rdpmc instruction.
OSX: Switch to Clang as the default compiler.
iOS: Disable os.execute() when building for iOS >= 8.0.
x86/x64: Disassemble AVX/AVX2 instructions.
DynASM/x86: Add AVX and AVX2 opcodes.
DynASM/x86: Add AES-NI opcodes.
DynASM/x86: Restrict shld/shrd to operands with same width.
DynASM/x86: Fix some SSE instruction templates.
Fix pairs() recording.
FFI: Fix ipairs() recording.
Drop marks from replayed instructions when sinking.
Makefile: ensure we always install the symbolic link for the "luajit" file.
imported Mike Pall's latest changes: