OpenResty(nginx)操作mysql的初步应用

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。
 
OpenResty 通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效的变成一个强大的 Web 应用服务器,这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块,快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统.
 
OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应.
 
OpenResty 英文官网:http://openresty.org/
OpenResty 中文官网:http://openresty.org/cn/
Nginx 维基官网:http://wiki.nginx.org/
 
说明:
OpenResty的安装比较简单,这里要使用一个强大的功能,就是用nginx直接访问mysql,取出数据,返回给浏览器,有两种方法,第一种:使用 HttpDrizzleModule 模块,同时还需要安装 libdrizzle 1.0(在drizzle里),第二种:使用ngx_lua模块和lua库lua-resty-mysql(Mysql client Driver)。默认安装OpenResty时,还有一些lua库被安装,如
 
无论使用何种方法,都需要安装 pcre 库 libpcre,这是安装nginx必须的
 
yum install pcre-devel.x86_64

方法一

1、安装 libdrizzle 1.0

[root@lhj ~]# wget http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gz
[root@lhj ~]# tar zxvf drizzle7-2011.07.21.tar.gz
[root@lhj ~]# cd drizzle7-2011.07.21
[root@lhj drizzle7-2011.07.21]# ./configure --without-server
[root@lhj drizzle7-2011.07.21]# make libdrizzle-1.0
[root@lhj drizzle7-2011.07.21]# make install-libdrizzle-1.0

2、安装 OpenResty

[root@lhj ngx_openresty-1.2.4.14]# ./configure --prefix=/usr/local/openresty --with-luajit --with-http_drizzle_module --with-libdrizzle=/usr/local
[root@lhj ngx_openresty-1.2.4.14]# gmake
[root@lhj ngx_openresty-1.2.4.14]# gmake install

编辑 nginx.conf 配置文件

http {
    upstream mysql {
          drizzle_server 127.0.0.1:3306 dbname=test user=root password=root protocol=mysql;
    }
    server {
          location = /mysql-status {
               drizzle_status;
          }
          location / {
               drizzle_pass mysql;
               drizzle_query "select id,username,age from users where id=1";
               rds_json on;
         }
    }

}             

 红色的配置用到了 HttpDrizzleModule 和 rds-json-nginx-module 模块,前一个模块是用来和数据库交互的,后面那个是做数据格式转换的,这里使用的是 json 数据格式

 
posted @ 2015-08-07 09:47  LeeHonGee  阅读(797)  评论(0编辑  收藏  举报