OpenResty Redis 安装部署测试SET GET功能


参考文档

http://www.redis.cn/download.html

https://openresty.org/cn/installation.html

https://github.com/openresty/redis2-nginx-module


一,安装OpenResty

1,安装最新稳定版本的OpenResty-1.11.2.5

[root@server ~]# yum -y install tclyum -y install perl-devel gcc gmake

[root@server ~]# yum -y install tclwget https://openresty.org/download/openresty-1.11.2.5.tar.gz

[root@server ~]# yum -y install tcltar zxvf openresty-1.11.2.5.tar.gz 

[root@server ~]# yum -y install tclcd openresty-1.11.2.5

[root@server ~]# yum -y install tcl./configure

[root@server ~]# yum -y install tclgmake

[root@server ~]# yum -y install tclgmake install


2,查看Nginx版本

[root@server ~]# yum -y install tclnginx -V

nginx version: openresty/1.11.2.5

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.61 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.06 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.10 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.32 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.18 --add-module=../redis2-nginx-module-0.14 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14 --add-module=../rds-csv-nginx-module-0.07 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-http_ssl_module



二,安装Redis

1,安装最新稳定版本的Redis-4.0.1

[root@server ~]# yum -y install tcl

[root@server ~]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz

[root@server ~]# tar zxvf redis-4.0.1.tar.gz 

[root@server ~]# cd redis-4.0.1

[root@server ~]# make

[root@server ~]# make test

[root@server ~]# make install

[root@server ~]# sh utils/install_server.sh 

Port           : 6379

Config file    : /etc/redis/6379.conf

Log file       : /var/log/redis_6379.log

Data dir       : /var/lib/redis/6379

Executable     : /usr/local/bin/redis-server

Cli Executable : /usr/local/bin/redis-cli


2,启动

[root@server ~]# /etc/init.d/redis_6379 start



三,配置redis_pass

1,主配置文件

[root@server ~]# cat /usr/local/openresty/nginx/conf/nginx.conf |grep -Ev "^#|^$"

user  www www;

worker_processes  auto;

worker_cpu_affinity auto;

error_log  logs/error.log  error;

pid        logs/nginx.pid;

worker_rlimit_nofile 409600;

events

{

  use epoll;

  worker_connections 409600;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;

    tcp_nopush     on;

    keepalive_timeout  65;

    upstream redis{

        server 127.0.0.1:6379;

        keepalive 10;

    }

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html;

            index  index.html index.htm;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        } 

        # GET /get?key=some_key

        location = /get {

            set_unescape_uri $key $arg_key;  # this requires ngx_set_misc

            redis2_query get $key;

            redis2_pass 127.0.0.1:6380;

         }

        # GET /set?key=one&val=first%20value

        location = /set {

            set_unescape_uri $key $arg_key;  # this requires ngx_set_misc

            set_unescape_uri $val $arg_val;  # this requires ngx_set_misc

            redis2_query set $key $val;

            redis2_pass 127.0.0.1:6380;

        }

    }

}


2,检测语法

[root@server ~]# /usr/local/openresty/nginx/sbin/nginx -t


3,启动

[root@server ~]# /usr/local/openresty/nginx/sbin/nginx



四,测试功能

1,SET Key

[root@client ~]# curl "http://172.17.6.60/set?key=name&val=minyt"

+OK


2,GET Key

[root@client ~]#  curl http://172.17.6.60/get?key=name

$5

minyt



五,备注

经了解,目前OpenResty第三方Redis模块都不支持集群协议

[root@server ~]# ./configure --help|grep redis

  --without-http_redis2_module       disable ngx_http_redis2_module

  --without-http_redis_module        disable ngx_http_redis_module

  --without-lua_redis_parser         disable the lua-redis-parser library

  --without-lua_resty_redis          disable the lua-resty-redis library