首先下载最新的openresty
wget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz
接下来开始安装带lua模块的openresty
./configure --prefix=/home/app/ngx_openresty-1.7.7.7.2 --with-luajit --with-pcre=/home/download/pcre-7.8
安装redis
下载redis3.0
wget http://download.redis.io/releases/redis-3.0.0.tar.gz make install
然后配置一下nginx配置
nginx.conf
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } 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; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; #charset koi8-r; access_log logs/host.access.log main; location / { # root html; # index index.html index.htm; proxy_pass http://sonicery_d.com; } location /syd{ proxy_pass http://sonicery_d.com; } location /hello{ root html; } location /testlua{ default_type text/plain; content_by_lua_file /home/app/lua/test.lua; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } include upstream.conf; }
test.lua
local redis = require "resty.redis" local cache = redis.new() cache.connect(cache,'127.0.0.1',6379) local res = cache:get("foo") if res == ngx.null then ngx.say("This is null") return end ngx.say(res)
相关推荐
在构建高性能、高可用性的Web服务时,常常会利用到Nginx作为反向代理和负载均衡器,Lua作为扩展Nginx功能的脚本语言,而Redis则作为内存数据存储,提供快速的数据访问。本资源包“nginx+lua+redis集群 连接插件和...
nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...
"Nginx、Lua、Redis 和 Json 的结合应用" Nginx 是一个高性能的 ...本文介绍了如何使用 Nginx、Lua、Redis 和 Json 来构建一个高效的系统,能够处理高并发的请求,并提供了丰富的功能和模块来满足大多数的应用场景。
本文将深入探讨如何利用`nginx+lua+redis`来实现`token`验证,以确保只有经过授权的用户才能访问受保护的资源。 首先,让我们理解`token`验证的基本原理。`token`验证是一种身份验证机制,它允许客户端通过提供一个...
在构建高性能Web应用程序时,Nginx、Lua和Redis的组合提供了一种高效且灵活的解决方案。这种架构允许处理高并发请求,同时减轻服务器压力,提高响应速度。下面将详细介绍如何利用这三种技术来构建这样的系统。 首先...
在本项目中,需要使用OpenResty版本的Nginx,OpenResty是一个集成LuaJIT的Nginx发行版,允许开发者使用Lua语言直接在Nginx中编写高性能的网络应用。结合lua版WAF,Nginx可以解析HTTP请求,然后将这些请求传递给Lua...
在IT行业中,尤其是在Web...总结来说,整合Nginx、Redis和Lua是一种高效的方法,可以充分利用各自的优势,构建高性能、可扩展的Web服务架构。通过使用上述工具和模块,开发者可以创建出更灵活、更强大的Web应用程序。
最近有个需求是需要用nginx播放服务器的视频,考虑安全问题,需要在nginx加个lua去取redis的token进行验证,刚开始访问测试环境单机还挺好用,可是要访问生产的是集群环境,找了多了资料趟了数不尽的坑,最终形成这...
【Redis开发】lua脚本开发nginx 与 redis 模块 (Lua script development nginx and Redis modules) 文件列表: lua_files (0, 2017-05-21) lua_files\access_control.lua (1813, 2017-05-21) lua_files\app_redis_...
在构建高性能、高可用性的Web服务时,`nginx`是一个常用的选择,因为它具有出色的静态文件处理能力和反向代理功能。而结合`lua`脚本语言和`redis`内存数据库,可以实现灵活的数据交互和动态逻辑处理。在这个场景下,...
在构建高性能服务器架构时,`Lua`、`Redis` 和 `Nginx` 的结合使用是一种常见的技术方案。本文将详细探讨这三个组件及其在构建高效系统中的作用。 首先,`Lua` 是一种轻量级的脚本语言,以其简洁的语法、高效的执行...
ngx_lua_php_queue是一个开源项目,它利用Nginx的lua模块、PHP以及Redis来构建一个单业务排队系统架构。这个架构旨在解决高并发场景下,确保请求按序处理,防止资源争抢,优化服务性能的问题。以下是这个系统架构的...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+redis实现session共享"的主题就涉及到了这一核心需求。为了实现单点登录(Single Sign-On, SSO)以及跨应用的session共享,我们可以结合使用Nginx作为...
《构建高性能Web服务:Nginx、Lua与Redis的整合应用》 在现代Web服务的构建中,Nginx、Lua和Redis已经成为一种高效的组合,它们各自承担着不同的角色,共同构建出高并发、低延迟的系统。Nginx作为前端服务器,负责...
这个“redis_cluster”项目看起来是将Redis Cluster集成到Nginx环境中,利用OpenResty(一个基于Nginx和lua-jit的高性能Web平台)和resty(一个Lua绑定库,用于在Nginx中与Redis交互)来实现。下面将详细解释这些...
在现代Web服务架构中,Redis、Lua、Nginx和OpenResty是不可或缺的技术组件,它们共同构建了一个高性能、高可扩展的解决方案。让我们深入探讨这些技术的核心特点、整合方式以及性能优化策略。 首先,Redis是一款开源...
通过深入理解Nginx与Lua的结合,开发者可以构建出更加灵活、高效的Web服务,满足复杂业务需求,同时充分利用Nginx的高性能特性。在实际工作中,结合"NGINX实战 基于LUA语言的配置、开发与架构详解@java1234.com.pdf"...
连接redis集群需要用到llua-resty-...下载完成后,只需要用到包中2个文件rediscluster.lua和redis_slot.c .c文件无法在nginx配置文件中引入,需要编译成.so文件,编译命令: gcc SOURCE_FILES -fPIC -shared -o TARGET
提到高并发或者抗压力,有这种高qps经验的同学第一反应大都是Nginx+lua+Redis,网上也满天非那种高并发架构方案大都是这种,但是Nginx+lua来做接入层到底是怎么抗住压力的呢?本篇顺序:1、Nginx如何抗住的高并发,...