What web server (and why) should I use for Lua web development?
问题:
回答1:
There are a few Lua-based webservers around:
- Xavante seems to be the most popular.
- Haserl is nice and small.
- Nanoki is not strictly a webserver, but a nice small pure Lua wiki engine worth studying. As for the Lua wikies, there is also Sputnik, which is fully featured and very flexible, but is a bit on the slow side.
- There is mod_lua (ex mod_wombat) if you prefer Apache. Looks like it would make it into the next Apache distribution as a core module.
- Note that it is not so hard to write a FastCGI Lua module.
- There is also Luv Lua MVC web-framework project (GitHub page). It is not mature yet, but may contain some interesting insights.
Update. Some more frameworks to check out:
- Luvit: http://luvit.io/ (too node-like for my taste)
- ngx_lua module for nginx: http://wiki.nginx.org/HttpLuaModule
- TIR for mongrel2: http://tir.mongrel2.org/
- Ophal: http://ophal.org (web platform)
- lev: https://github.com/connectFree/lev
- Turbo: https://github.com/kernelsauce/turbo
回答2:
We've been working on the ngx_lua module for nginx, which supports 100% non-blocking network traffic to mysql, PostgreSQL, memcached, other http services, and more, hence outstanding concurrency level and over-all performance :)
http://github.com/chaoslawful/lua-nginx-module
and we're using it in production :)
回答3:
The best web server I can think for lua web development is mongrel2. Take a look on TIR framework, which, IMHO, is the best lua use for web development these days.
回答4:
For development, it can be handy to run a small test server. A good candidate in particular for Lua web development is the Xavante server which is part of the Kepler project. Aside from some of the supporting Kepler modules , Xavante itself is written in pure Lua.
For production, the new mod_lua
(which had been known as mod_wombat
before the Apache team accepted it into the core set of modules) running on Apache would seem to be a well-respected choice.
回答5:
there is as well the LuCI project [1]. which is the LuaConfigurationInterface, the web based mangement frontend for OpenWRT (embedded Linux).
The LuCI guys wrote also a very small webserver, called lucittpd. LuCI is an MVC as well. And in production state ;)
[1] http://luci.subsignal.org
回答6:
Recently, Lua support was added to the http://github.com/valenok/mongoose web server, check out pre-build windows binary at http://code.google.com/p/mongoose/downloads/list