OpenResty 1.7.10.2 正式发布,打包了标准Nginx 核心的 Web 服务器

jopen 9年前

OpenResty 1.7.10.2 正式发布,更新内容:

  • bugfix: ./configure: fixed the --without-http_rewrite_module option by disabling NginxDevelKit automatically; also automatically disable the EncryptedSessionNginxModule when NginxDevelKit is disabled.

  • bugfix: ./configure: removed hacks to work around an old bug in LuaNginxModule's build system (just recently fixed in LuaNginxModule).

  • bugfix: LuaJIT compilation might fail when old gcc 4 compilers are used (like gcc 4.1.0). this regression had appeared in OpenResty 1.7.7.2. thanks aseiot for the report.

  • upgraded RestyCLI to 0.03.

    • bugfix: resty: command-line options did not pass to the user Lua script unless -- was intentionally specified. now standalone Lua scripts with a shebang line work out of the box (if LuaJIT is used, which is the default). thanks neomantra for the report.

    • bugfix: resty: now sends error_log to stderr instead of the system-specific path /dev/stderr. thanks Evan Wies for the patch.

    • doc: added the new section "Test Suite" as per Enrique Garcia's request.

    • tests: fixed test failures on Mac OS X. thanks Enrique García for the report.

  • upgraded LuaNginxModule to 0.9.16.

    • feature: ngx.encode_base64(): added support for the "no_padding" boolean argument to disable padding when a true value is specified. thanks Shuxin Yang for the patch. this feature can be used for streaming base64 computation.

    • feature: fixed compilation failures with nginx 1.9.0. thanks Charles R. Portwood II for the original patch.

    • feature: removed the dead code for the old NGX_THREADS mode which broke the new nginx (1.7.11+) with thread pool support. thanks Tatsuhiko Kubo for the patch.

    • bugfix: use of ngx_http_image_filter_module might lead to request hang due to duplicate header filter invocations. thanks Antony Dovgal for the report.

    • bugfix: we should never automatically set Content-Type on 304 responses. thanks Simon Eskildsen for the patch.

    • bugfix: raw downstream cosockets did not support full-deplexing. thanks aviramc for the bug report and the original patch. this issue affected WebSockets too.

    • bugfix: we did not always discard the request body if the user Lua handlers didn't, which might cause 400 error pages for keep-alive or pipelined requests. thanks Shuxin Yang for the original patch.

    • bugfix: ngx.resp.get_headers(): some built-in headers were not accessible via lower-case. thanks Nick Muerdter for the patch.

    • bugfix: we might still pick up Lua/LuaJIT headers/libraries in the paths specified by nginx ./configure's --with-cc-opt=OPTS and --with-ld-opt=OPTS optons even when the LUAJIT_INC/LUAJIT_LIB or LUA_INC/LUA_LIB environments were explicitly specified.

    • bugfix: config: we might miss the linker option -ldl when we shouldn't. this might lead to build failures.

    • bugfix: access nonexistent fields in the "ngx" table in init_by_lua* could lead to the exception "no request object found" because of the overreacting __index metamethod of the "ngx" table.

    • bugfix: fixed compilation failures with very old versions of PCRE, like 4.5.

    • doc: fixed a bug in an example where both rewrite_by_lua and content_by_lua produce response outputs. thanks fengidri for the report.

    • doc: fixed the context for the lua_need_request_body directive. thanks Tatsuhiko Kubo for the patch.

    • doc: fixed the code sample for ngx.redirect() to reflect recent changes there. thanks Zi Lin for the report.

    • doc: added a note on possible uninitialized variables for short-circuited requests. thanks Simon Eskildsen for the patch.

    • tests: fixed nondeterminism due to unordered Lua table iterations. thanks Markus Linnala for the patch.

  • upgraded HeadersMoreNginxModule to 0.26.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • optimize: removed the unused C function ngx_http_headers_more_rm_header. thanks Markus Linnala for the catch.

    • doc: made it clear that more_set_headers always override existing headers with the same name.

  • upgraded SetMiscNginxModule to 0.29.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • tests: add openssl hmac defensive test. thanks Markus Linnala for the patch.

  • upgraded LuaUpstreamNginxModule to 0.03.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • doc: README.md: fixed the get_backup_peers example. thanks Jakub Kramarz for the patch.

  • upgraded SrcacheNginxModule to 0.30.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

  • upgraded DrizzleNginxModule to 0.1.9.

    • feature: fixed compilation errors with nginx 1.9.1+.

    • feature: automatic libdrizzle path discovery for Ubuntu 12.04. thanks Mathew Heard for the patch.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

  • upgraded PostgresNginxModule to 1.0rc6.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: use ngx_abs() instead of abs() to fix one clang warning (-Wabsolute-value).

  • upgraded RdsCsvNginxModule to 0.06.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: fixed two clang -Wconditional-uninitialized warnings.

    • doc: improved the documentation a lot.

  • upgraded RdsJsonNginxModule to 0.14.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • doc: improved the documentation a lot.

  • upgraded EchoNginxModule to 0.58.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: we no longer break on subrequests when the ngx_http_ssi_module is diasbled. thanks Anthony Ryan for the patch.

    • bugfix: use of ngx_http_image_filter_module might lead to request hang due to duplicate header filter invocations.

  • upgraded MemcNginxModule to 0.16.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: fixed clang warnings on "unused variables" in the Ragel generated source.

  • upgraded Redis2NginxModule to 0.12.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: fixed clang warnings on "unused variables" in the Ragel generated source.

    • bugfix: always set the response status code in case of bad statuses like 504. thanks Kaito Sys for the report.

    • doc: typo fixes from Karan Chaudhary.

  • upgraded EncryptedSessionNginxModule to 0.04.

    • feature: added debugging logs for expiration times during encryption and decription. also adjusted other debug logging messages a bit. thanks Kalpesh Patel for requesting this.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: fixed warnings from the Microsoft C/C++ compiler. thanks Edwin Cleton for the report.

    • doc: improved the documentation a lot.

  • upgraded IconvNginxModule to 0.11.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

  • upgraded ArrayVarNginxModule to 0.04.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • doc: improved the documentation a lot.

  • upgraded XssNginxModule to 0.05.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

    • bugfix: fixed clang warnings on "unused variables" in the Ragel generated source.

    • doc: improved the documentation a lot.

  • upgraded FormInputNginxModule to 0.11.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

  • upgraded CoolkitNginxModule to 0.2rc3.

    • feature: fixed compilation failures with nginx 1.7.11+ configured with --with-threads.

  • upgraded LuaJIT to v2.1-20150622: https://github.com/openresty/luajit2/tags

    • Add Xbox One port.

    • Fix narrowing of TOBIT.

    • x64: Allow building without external unwinder.

    • x86/x64: Fix argument check for bit shifts.

    • x64: Add LJ_GC64 mode interpreter. Enable this mode with: make XCFLAGS=-DLUAJIT_ENABLE_GC64

    • Disable trace stitching (for now) due to a design mistake.

    • Fix stack check in narrowing optimization.

    • ARM64: Fix math.floor/math.ceil for string args.

    • DynASM/PPC: Add sub/shift/rotate/clear instruction aliases.

    • DynASM/PPC: Add support for parameterized shifts/masks.

    • PPC: Fix cross-endian builds.

    • PPC: Fix write barrier in BC_TSETR.

    • Fix Lua/C API typecheck error for special indexes.

    • FFI: Fix FOLD rule for TOBIT + CONV num.u32.

    • ARM: Handle more arch defines.

    • Properly fail unsupported cross-compile to MIPS64.

    • imported Mike Pall's latest changes:

下载:https://openresty.org/#Download

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。

通过众多进行良好设计的 Nginx 模块,OpenResty 有效地把 Nginx 服务器转变为一个强大的 Web 应用服务器,基于它开发人员可以使用 Lua 编程语言对 Nginx 核心以及现有的各种 Nginx C 模块进行脚本编程,构建出可以处理一万以上并发请求的极端高性能的 Web 应用。

OpenResty 致力于将你的服务器端应用完全运行于 Nginx 服务器中,充分利用 Nginx 的事件模型来进行非阻塞 I/O 通信。不仅仅是和 HTTP 客户端间的网络通信是非阻塞的,与MySQL、PostgreSQL、Memcached、以及 Redis 等众多远方后端之间的网络通信也是非阻塞的。

因为 OpenResty 软件包的维护者也是其中打包的许多 Nginx 模块的作者,所以 OpenResty 可以确保所包含的所有组件可以可靠地协同工作。