Lua+Nginx+Memcached整合


1基本介绍

1.1Lua简介

       Lua是轻量级的脚本语言,由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua主要有三种用户,即适用嵌入到某个程序中的Lua用户,适用Lua解释器程序的用户以及同时使用C和Lua的用户。

       同时Lua作为脚本语言,主要有以下几个特性:

       (1)可拓展性:Lua可拓展性非常卓越,不仅仅是一门编程语言,而已是一种用于构建特定领域语言的工具包。

       (2)简易性:Lua是一种简单、小巧的语言。

       (3)高效性:Lua具有非常高效的实现,性能评估显示Lua是脚本(解释型)语言中运行效率最高的语言。

       (4)可移植性:Lua具有跨平台特性,可以运行在任何平台上。

       Lua主要的运用场景:

       (1)游戏以及游戏插件

       (2)嵌入式程序

       (3)大型程序中的部分模块

1.2Nginx简介

       Nginx是一款高性能的Http和反向代理服务器。Nginx能够选择高效的epoll(Linux2.6内核)、kqueue(FreeBSD)、eventport(Solaris10)作为网络I/O模型,在高连接并发情况下,能够支持50000的并发连接数,而占用的内存、CPU等资源却很低,运行非常稳定。

       Nginx主要有以下特性:

       (1)支持高并发多连接,主要是使用epoll和kqueue作为网络I/O模型,减少了处理请求带来的CPU消耗。

图1.1 使用epoll、kqueue、select等网络模型性能测试对比图

       (2)内存消耗少,Nginx单进程的内存消耗在15M左右,通过10个Nginx进程处理30000并发连接的情况下,内存占用量仅为150M,并且运行速度很快。

       (3)成本低廉,Nginx采用2-clauseBSD-like协议,可以免费使用,并且可以在源代码基础上进行二次开发。

       (4)配置文件非常简单。

       (5)支持Rewrite重写规则,能够根据域名、URL不同,将Http请求分到不同的后端服务器群组。

       (6)内置健康检查功能,在使用Nginx Proxy后端的某台服务器宕机的情况下不影响前端访问。

       (7)节省带宽,支持GZIP压缩。

       (8)稳定性高,支持热部署。

                            图1.2 Nginx与Apache、Lighttpd的对比

2Lua整合Nginx

       Lua整合Nginx主要是通过ngx_lua_module实现的,它把 Lua 解析器内嵌到 Nginx,用来解析并执行Lua 语言编写的网页后台脚本。主要特性如下:

(1)支持Windows和Linux平台。

(2)支持高并发高性能。

(3)HTML网页中内嵌LUA脚本代码,类似于PHP。

(4)支持非阻塞的数据库操作,目前只支持MYSQL。

(5)支持异步的文件IO操作。

(6)支持非阻塞的SOCKETIO操作。

2.1环境搭建



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值