当前位置:首页 > 运维 > 正文内容

openresty操作mysql的详解

phpmianshi5年前 (2016-07-05)运维64
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

wget http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gz

tar zxvf drizzle7-2011.07.21.tar.gz

cd drizzle7-2011.07.21

./configure --without-server

make libdrizzle-1.0

make install-libdrizzle-1.0


2、安装 OpenResty

./configure --prefix=/usr/local/openresty --with-luajit --with-http_drizzle_module --with-libdrizzle=/usr/local

gmake

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 数据格式



版权声明:本文由PHP面试资料网发布,如需转载请注明出处。
分享给朋友:

相关文章

linux中配置内核参数sysctl详解

概念sysctl用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数。用户只需要编辑/etc/sysctl.conf文件,即可手工或...

Certbot-免费的https证书

什么是HTTPS?HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传...

Nginx中对同一IP限速限流DDOS预防

作用:Nginx通过limit_conn_zone和limit_req_zone对同一个IP地址进行限速限流,可防止DDOS/CC和flood攻击limit_conn_zone是限制同一个IP的连接数...

linux中sudo提权漏洞复现及修复-CVE-2021-3156

1.背景sudo被披露存在一个基于堆的缓冲区溢出漏洞(CVE-2021-3156,该漏洞被命名为“Baron Samedit”),可导致本地权限提升。当在类Unix的操作系统上执行命令时,非root用...

linux中利用nethogs查看哪些进程占用网络带宽

centos6版本安装1、安装依赖包yum install ncurses* -y yum install libpcap* -y2、下载...

linux中磁盘被占用找不到占用文件

1、用df 检查发现磁盘占用过高[root@VM_0_15_centos ~]# df -h2、用du检查发现各目录占用的空间都很少,有约10G的空间找不到了[root@...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。