Nginx结合Lua脚本,直接绕过Tomcat应用服务器,连接MySQL/Redis直接获取数据,再结合Lua中Template组件,直接写入动态数据,渲染成页面,响应前端,一次请求响应过程结束.最终达到下图的一个效果. OpenResty组件 OpenResty的自带组件库默认已经集成了相当实用的组件,http://openresty.org/cn/components.html,如下所示: LuaCjsonLibrary LuaRestyMemcachedLibrary LuaRestyMy…
最近公司网站改版,程序和数据库全部用新版,旧版的数据要导入,旧网站的30万条数据url要全部重定向到新版网站,正好前段时间在学习nginx+lua+mysql+memcache(redis),找资料真费劲,记录下来,以备查询 对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis.Memcached.Mysql.Http客户端.JSON.模板引擎等. 一些常见的Lua库可以在github上搜索,https://github.com/search…
使用Nginx Lua实现redis高性能http接口 时间 -- :: 峰云就她了 原文 http://xiaorui.cc/2015/01/27/使用nginx-lua实现redis高性能http接口/ 主题 Lua Nginx HTTP 某些时候用python实现的接口性能不够强劲,需要换种方法来提高性能,这不就用lua试试. 常见的redis lua的组合功能 有接口防止过度访问,动态的数据加载,接口的数据缓存 redis没有直接提供一个http的接口, 性能的比较的话,lua的能力要比…
目的是把一个flask项目的mysql数据库.redis数据库.flask应用.nginx服务分别装到四个容器中,然后用docker-compose命令同时启动与关闭 一.安装docker Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上.通过 uname -r 命令查看当前的内核版本 更新yum sudo yum update 移除旧版本 sudo yum remove docker                   docker-client  …
大家都知道,nginx是当前应用非常广泛的web服务器,热度因为他的高并发高性能高可靠性,且轻量级!牛逼的不行,不多说这些. 今天要介绍的是,如何基于nginx和lua脚本,也就是在openresty的环境下,实现动态的反向代理逻辑,有一个开关控制.开关控制反向代理工作在nginx原生的upstream的模式,还是工作在lua控制的动态代理模式. 动态代理的服务器,通过http请求实现灵活的操作,向lua_shared_dict定义的全局变量里面写入或者删除动态代理的服务器信息. 环境信息如下:…
说明:本教程主要包括以下三个部分: 1. 源代码编译安装Nginx 2. 源代码编译安装php以及mysql.redis扩展模块 3. 配置虚拟主机 文中所涉及安装包程序均提供下载链接,欢迎使用 运行环境以及前置条件:Ubuntu 12.04 LTS 已安装g++编译环境 所有源程序路径位于:root@ubuntu:/home/shihai/Desktop/Nginx文件夹下,如下图所示: 程序安装路径位于:/usr/local文件夹下 第一部分:安装Nginx 安装Nginx前需要安装依赖库P…
说明:本教程由三部分组成如下: 1.      源码编译安装Nginx 2.      源码编译安装php以及mysql.redis扩展模块 3.      配置虚拟主机 文中所涉及安装包程序均提供下载链接,欢迎使用 执行环境以及前置条件:Ubuntu 12.04 LTS 已安装g++编译环境 全部源程序路径位于:root@ubuntu:/home/shihai/Desktop/Nginx目录下.例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi…
1.mysql的下载和安装 这个可参考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html 2.php的下载和配置修改 下载地址:https://windows.php.net/download 根据自己项目需求下载对应的版本,不过下载时要注意,因为有多个版本 x64代表电脑位数为64,x86代表电脑位数为32位,这个不用多说. 需要注意另外一个区别 thread safe (线程安全) 和 non thread safe(线程不安全),这是因…
Ubuntu18.04 install Django project 项目准备: ECS 实例 (云服务器) 此安装部署方案适合本地ubuntu18.04系统安装和虚拟机中ubuntu18.04系统安装 1.使用ssh登录云服务器 (本地搭建忽略此步骤,从第二步开始) ssh root@'云服务器IP' #假设我的云服务器IP是192.168.0.3 ssh root@192.168.0.3 #第一次连接云服务器会询问你是yes 还是no (输入yes) yes #输入root用户的密码 (假设…
local redis = require "resty.redis" local red = redis:new() red:set_timeout() -- sec -- or connect to a unix domain socket file listened -- by a redis server: -- local ok, err = red:connect("unix:/path/to/redis.sock") local ok, err = r…