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

     
  • 相关阅读:
    《金字塔原理》听书笔记
    凡事有交代
    关于马云不用淘宝不用支付宝的想法
    jenkins如何在一台机器上开启多个slave
    jenkins结合docker
    flask-assets使用介绍
    touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
    JS中event.preventDefault()取消默认事件能否还原?
    flask前端优化:css/js/html压缩
    What's New In DevTools (Chrome 59)来看看最新Chrome 59的开发者工具又有哪些新功能
  • 原文地址:https://www.cnblogs.com/leehongee/p/4709902.html
Copyright © 2020-2023  润新知