openresty操作mysql的详解

220 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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 英文官网openresty.org/

OpenResty 中文官网openresty.org/cn/

Nginx 维基官网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

wget http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gztar zxvf drizzle7-2011.07.21.tar.gzcd drizzle7-2011.07.21./configure --without-servermake libdrizzle-1.0make install-libdrizzle-1.0

2、安装 OpenResty

./configure --prefix=/usr/local/openresty --with-luajit --with-http_drizzle_module --with-libdrizzle=/usr/localgmakegmake 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 数据格式

参考:www.phpmianshi.com/?id=286