ngx_lua v0.1.0: scripting nginx with Lua

I’m happy to announce the first public release of the ngx_lua module, v0.1.0:

ngx_lua This module embeds the Lua/LuaJIT interpreter into the nginx core and integrates the powerful Lua threads (aka Lua coroutines) into the nginx event model by means of nginx subrequests.

Unlike Apache’s mod_lua and Lighttpd’s mod_magnet, Lua code written atop this module can be 100% non-blocking on network traffic as long as you use the ngx.location.capture interface to let the nginx core do all your requests to mysql, postgresql, memcached, redis, upstream http web services, and etc etc etc (see ngx_drizzle, ngx_postgres, ngx_memc, ngx_redis2, and ngx_proxy modules for details).

You can find the latest source code as well as the latest documentation here:

We’ve already run ngx_lua as well as dozens of other nginx C modules in’s web applications for months and this module is considered production ready.

With ngx_lua, it’s now possible to construct true C10K-capable web applications because everything can be trivially made non-blocking, not only the network traffic between the clients, but also the traffic to the backends like RDBMS and memcached clusters. And we’ve been working hard to make it a much better substitution for traditional web development solutions like PHP, not only in terms of performance, but also ease of use.


This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s