`

构建nginx lua redis高并发应用

 
阅读更多

 

    首先下载最新的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)

 

 

分享到:
评论

相关推荐

    nginx+lua+redis 集群 连接插件和脚本

    在构建高性能、高可用性的Web服务时,常常会利用到Nginx作为反向代理和负载均衡器,Lua作为扩展Nginx功能的脚本语言,而Redis则作为内存数据存储,提供快速的数据访问。本资源包“nginx+lua+redis集群 连接插件和...

    nginx+lua+redis通过匹配客户端ip进行灰度发布

    nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...

    Nginx+Lua+Redis+Json

    "Nginx、Lua、Redis 和 Json 的结合应用" Nginx 是一个高性能的 ...本文介绍了如何使用 Nginx、Lua、Redis 和 Json 来构建一个高效的系统,能够处理高并发的请求,并提供了丰富的功能和模块来满足大多数的应用场景。

    nginx+lua+redis实现token验证

    本文将深入探讨如何利用`nginx+lua+redis`来实现`token`验证,以确保只有经过授权的用户才能访问受保护的资源。 首先,让我们理解`token`验证的基本原理。`token`验证是一种身份验证机制,它允许客户端通过提供一个...

    Nginx+Lua+Redis构建高并发Web应用

    在构建高性能Web应用程序时,Nginx、Lua和Redis的组合提供了一种高效且灵活的解决方案。这种架构允许处理高并发请求,同时减轻服务器压力,提高响应速度。下面将详细介绍如何利用这三种技术来构建这样的系统。 首先...

    lua版waf web防火墙 redis+nginx版

    在本项目中,需要使用OpenResty版本的Nginx,OpenResty是一个集成LuaJIT的Nginx发行版,允许开发者使用Lua语言直接在Nginx中编写高性能的网络应用。结合lua版WAF,Nginx可以解析HTTP请求,然后将这些请求传递给Lua...

    nginx 整合redis以及lua语言

    在IT行业中,尤其是在Web...总结来说,整合Nginx、Redis和Lua是一种高效的方法,可以充分利用各自的优势,构建高性能、可扩展的Web服务架构。通过使用上述工具和模块,开发者可以创建出更灵活、更强大的Web应用程序。

    linux 实现nginx+Lua 访问redis集群

    最近有个需求是需要用nginx播放服务器的视频,考虑安全问题,需要在nginx加个lua去取redis的token进行验证,刚开始访问测试环境单机还挺好用,可是要访问生产的是集群环境,找了多了资料趟了数不尽的坑,最终形成这...

    【Redis开发】lua脚本开发nginx 与 redis 模块

    【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_...

    nginx+lua+redis黑名单加载

    在构建高性能、高可用性的Web服务时,`nginx`是一个常用的选择,因为它具有出色的静态文件处理能力和反向代理功能。而结合`lua`脚本语言和`redis`内存数据库,可以实现灵活的数据交互和动态逻辑处理。在这个场景下,...

    lua+redis+nginx

    在构建高性能服务器架构时,`Lua`、`Redis` 和 `Nginx` 的结合使用是一种常见的技术方案。本文将详细探讨这三个组件及其在构建高效系统中的作用。 首先,`Lua` 是一种轻量级的脚本语言,以其简洁的语法、高效的执行...

    ngx_lua_php_queue, nginx lua php redis实现单业务排队系统架构.zip

    ngx_lua_php_queue是一个开源项目,它利用Nginx的lua模块、PHP以及Redis来构建一个单业务排队系统架构。这个架构旨在解决高并发场景下,确保请求按序处理,防止资源争抢,优化服务性能的问题。以下是这个系统架构的...

    nginx+redis实现session共享

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+redis实现session共享"的主题就涉及到了这一核心需求。为了实现单点登录(Single Sign-On, SSO)以及跨应用的session共享,我们可以结合使用Nginx作为...

    nginx+lua+redis.rar

    《构建高性能Web服务:Nginx、Lua与Redis的整合应用》 在现代Web服务的构建中,Nginx、Lua和Redis已经成为一种高效的组合,它们各自承担着不同的角色,共同构建出高并发、低延迟的系统。Nginx作为前端服务器,负责...

    redis_cluster:一个开放式的nginx lua redis集群

    这个“redis_cluster”项目看起来是将Redis Cluster集成到Nginx环境中,利用OpenResty(一个基于Nginx和lua-jit的高性能Web平台)和resty(一个Lua绑定库,用于在Nginx中与Redis交互)来实现。下面将详细解释这些...

    lua-nginx-redis-master.zip

    在现代Web服务架构中,Redis、Lua、Nginx和OpenResty是不可或缺的技术组件,它们共同构建了一个高性能、高可扩展的解决方案。让我们深入探讨这些技术的核心特点、整合方式以及性能优化策略。 首先,Redis是一款开源...

    nginx实战-基于lua语言

    通过深入理解Nginx与Lua的结合,开发者可以构建出更加灵活、高效的Web服务,满足复杂业务需求,同时充分利用Nginx的高性能特性。在实际工作中,结合"NGINX实战 基于LUA语言的配置、开发与架构详解@java1234.com.pdf"...

    lua redis 集群的so文件

    连接redis集群需要用到llua-resty-...下载完成后,只需要用到包中2个文件rediscluster.lua和redis_slot.c .c文件无法在nginx配置文件中引入,需要编译成.so文件,编译命令: gcc SOURCE_FILES -fPIC -shared -o TARGET

    高并发Nginx+lua是如何抗住的

    提到高并发或者抗压力,有这种高qps经验的同学第一反应大都是Nginx+lua+Redis,网上也满天非那种高并发架构方案大都是这种,但是Nginx+lua来做接入层到底是怎么抗住压力的呢?本篇顺序:1、Nginx如何抗住的高并发,...

Global site tag (gtag.js) - Google Analytics