nginx-lua-mysql 使用简介

须要安装

  • Nginx
  • 安装Nginx的echo模块
  • 安装Nginx的lua 模块
  • 安装Mysql

ps: echo模块,能够让咱们像在PHP使用echo同样,打印出参数。
可是要加 default_type "text/html”;否则会出现请求页面出现下载的状况。html

知识点:

* 了解Nginx,正则匹配location:【http://www.cnblogs.com/zlingh...

安装完lua之后,须要安装luajit;

使用luajit 的luarocks相似于PHP的composer,mysql

安装mysqlnginx

执行命令:

安装lua 的mysql扩展前,必定要安装mysql.
$ luarockt install luasql-mysqlredis

例子:sql

1. 首先修改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()

2.nginx -s reload

对比:

使用 openresty也能够作到这个,并且更简单,openresty是一个集成的扩展集合,里面有nginx,也有lua,并且给用户配置好了,lua的redis,mysql扩展。适合新的服务器中使用;若是已有服务器,又不影响业务,能够手动安装lua扩展,不影响业务的使用。composer

lua扩展的资料

这兄弟写的很详细。按照上面走一遍就能够了。fetch

相关文章
相关标签/搜索