lua开发web应用 ngx_lua_module
本文导语: ngx_lua_module是一个nginx http模块,它把lua解析器内嵌到nginx,用来解析并执行lua语言编写的网页后台脚本。 特性: *) 支持Windows和Linux平台。 *) 支持高并发高性能。 *) HTML网页中内嵌LUA脚本代码,类似于PHP。 *) 支持非阻塞的数据...
ngx_lua_module是一个nginx http模块,它把lua解析器内嵌到nginx,用来解析并执行lua语言编写的网页后台脚本。
特性:
*) 支持Windows和Linux平台。
*) 支持高并发高性能。
*) HTML网页中内嵌LUA脚本代码,类似于PHP。
*) 支持非阻塞的数据库操作,目前只支持MYSQL。
*) 支持异步的文件IO操作。
*) 支持非阻塞的SOCKET IO操作。
API简介:
*) nginx 表
提供一些实用函数,例如URI转换、BASE64编解码、CRC校验、MURMURHASH2、MD5和SHA1。
具体用法请查看下面示例代码。
*) nginx.database 表
提供数据库操作的接口,这些接口的内部实现是基于非阻塞模式的,
因此不会阻塞Nginx的事件处理,可以支持比较高的并发。
具体用法请查看下面示例代码。
*) nginx.file 表
提供文件操作的接口,这些接口的内部实现是基于异步IO模式的,
因此不会阻塞Nginx的事件处理,可以支持比较高的并发。
具体用法请查看下面示例代码。
*) nginx.logger 表
Nginx日志接口的封装,允许在LUA代码中写日志信息到Nginx的日志文件。
具体用法请查看下面示例代码。
*) nginx.request 表
提供与HTTP请求有关的接口,可以获取请求参数、请求头和Cookie值,等等。
具体用法请查看下面示例代码。
*) nginx.response 表
提供与HTTP响应有关的接口。
具体用法请查看下面示例代码。
*) nginx.socket 表
提供SOCKET操作的接口,这些接口的内部实现是基于非阻塞IO模式的,
因此不会阻塞Nginx的事件处理,可以支持比较高的并发。
具体用法请查看下面示例代码。
*) nginx.variable 表
提供接口给LUA代码以获取Nginx的HTTP变量。
具体用法请查看下面示例代码。
TODO:
*) API说明文档。
*) 更多实用功能的LUA表和接口实现,
例如多台机器之间会话(Session)共享的透明处理。
下载:
https://github.com/hehaiqiang/ngwsx/downloads
示例代码:
index.lsp
hello, !
hello, !
test_core.lsp
URI escape test
URI unescape test
BASE64 encode test
BASE64 decode test
CRC16 test
CRC32 test
MURMURHASH2 test
MD5 test
SHA1 test
test_database.lsp
err:
errstr:
col_count:
row_count:
affected_rows:
insert_id:
request_time: ms
test_file.lsp
n:
res:
n:
err:
test_logger.lsp
please opening the log file of the nginx to view messages.
test_request.lsp
hello, !
test_response.lsp
hello, !
test_socket.lsp
test_variable.lsp