What web server to use for Lua web development [cl

2019-01-08 07:40发布

问题:

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