openresty编译添加drizzle-nginx-module模块

1.下载drizzle模块

地址见:   http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gz

1.安装drizzle

  •     cd /usr/local/openresty
  •    tar zxvf drizzle7-2011.7.21.tar.gz
  •    cd drizzle7-2011.7.21/
  •    ./configure --with-server
  •    make libdrizzle-1.0
  •    make install-libdrizzle-1.0

 3.编译drizzle-nginx-module

wget  http://openresty.org/download/ngx_openresty-1.9.7.4.tar.gz

tar -zxvf  ngx_openresty-1.9.7.4.tar.gz

cd ngx_openresty-1.9.7.4

输入nginx -V命令,将参数添加上来即可

104123_1Ycs_2263272.png

3.编译命令

./configure --prefix=/usr/local/openrest --with-cc-opt='-O2 -I/usr/local/Cellar/openssl/1.0.2h_1/include/ -I/usr/local/Cellar/pcre/8.39/include/'  --with-stream --with-stream_ssl_module --add-module=/usr/local/openresty/stream-lua-nginx-module --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/usr/local/Cellar/openssl/1.0.2h_1/lib/ -L/usr/local/Cellar/pcre/8.39/lib/' --with-http_ssl_module --with-http_drizzle_module

make

make install

 

4.下图表示已经编译成功

4

 

5.测试一下:

nginx.conf文件:(server位于http中)

142250_MeCv_2263272.png

运行结果如下:返回格式为json

142333_oPqs_2263272.png

测试情形二:

server{
        
    listen 8080;

       
    location @user-by-name { 
        set_unescape_uri $name $arg_name; #接收name参数
        set_quote_sql_str $name;   #编码防止注入
        drizzle_query 'select * from user01 where name=$name'; 
        drizzle_pass backend; 
        rds_json on; 
    }

    location @user-by-id { 
        set_quote_sql_str $id $arg_id; 
        drizzle_query 'select * from user01 where id=$id'; 
        drizzle_pass backend; 
        rds_json on; 
    }



    location =/user {
         access_by_lua '
                if ngx.var.arg_name then
                    return ngx.exec("@user-by-name")
                end
                
                if ngx.var.arg_id then
                    return ngx.exec("@user-by-id")
                end    

            ';


            rds_json_ret 400 "expecting \"name\" or \"id\" query arguments"; 

        }
    }}

运行结果:

144435_WRTd_2263272.png

 

144459_igUx_2263272.png

 

145109_AWiB_2263272.png

测试情形三:


 location /mysql-status {
           drizzle_status;
       }

145325_7N8J_2263272.png

测试情形四:

location ~ '^/mysql/(.*)' {
            set $name $1; 
            set_quote_sql_str $quote_name $name; 
            set $sql "SELECT * FROM user01 WHERE username=$quote_name"; 
            drizzle_query $sql; 
            drizzle_pass backend; 
            rds_json on; 
       }

运行结果:

145953_YHmS_2263272.png

150016_TMra_2263272.png

转载于:https://my.oschina.net/u/2263272/blog/1486733

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值