Nginx
echo
模块lua
模块Mysql
ps: echo模块,能够让咱们像在PHP使用echo同样,打印出参数。
可是要加 default_type "text/html”;否则会出现请求页面出现下载的状况。html
location
:【http://www.cnblogs.com/zlingh...】使用luajit 的luarocks
相似于PHP的composer,mysql
安装mysqlnginx
安装lua 的mysql扩展前,必定要安装mysql.
$ luarockt install luasql-mysql
redis
例子:sql
nginx.conf
location /luatest { default_type "text/html”; content_by_lua_file /Users/Keil/study/lua/test.lua; }
当页面匹配到 luatest,就会执行test.lua脚本。配置好 default_type "text/html”;
,否则服务器会把test.lua文件下载下来。
ps:content_by_lua_file
命令:告诉服务器加载和执行lua文件。数据库
test.lua中的代码:服务器
local luasql =require("luasql.mysql") --建立环境对象 env = luasql.mysql() -- ----链接数据库 conn = env:connect("wechats","root","","127.0.0.1") -- ----设置数据库的编码格式 conn:execute"SET NAMES UTF8" ----执行数据库操做 cur = conn:execute("select * from status") row = cur:fetch({},"a") while row do var = string.format("%d %s\n", row.id, row.name) ngx.say(var) row = cur:fetch(row,"a") end conn:close() --关闭数据库链接 env:close()
nginx -s reload
使用 openresty
也能够作到这个,并且更简单,openresty
是一个集成的扩展集合,里面有nginx,也有lua,并且给用户配置好了,lua的redis,mysql扩展。适合新的服务器中使用;若是已有服务器,又不影响业务,能够手动安装lua扩展,不影响业务的使用。composer
这兄弟写的很详细。按照上面走一遍就能够了。fetch