安装OpenResty(nginx+lua)开发环境并正常运行

  • 2017-01-20
  • 1820
  • 0

一,OpenResty介绍

1)Nginx主要场景还是负载均衡、反向代理、代理缓存、限流、静态文件处理等场景,而把Nginx作为一个Web动态容器使用的还不是那么广泛。借助于Nginx的事件驱动模型和非阻塞IO,章亦春(agentzh)将Nginx核心、LuaJIT、ngx_lua模块、许多有用的Lua库和常用的第三方Nginx模块组合在一起成为了OpenResty,以此使得Nginx可以作为一个Web Server使用,可以实现高性能的Web应用程序。

2)官方介绍,OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

3)Lua提供了协程并发,即以同步调用的方式进行异步执行,从而实现并发,比起node.js等回调机制的并发来说代码更容易编写和理解,排查问题也会容易。

4)ngx_lua提供了与Nginx交互的很多的API,对于开发人员来说只需要学习这些API就可以进行功能开发,而对于开发web应用来说,如果接触过Servlet的话,其开发和Servlet类似,无外乎就是知道接收请求、参数解析、功能处理、返回响应这几步的API是什么样子的。提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。

5)与php开发相比,Nginx+php-fpm之间是要有进程之间通信的,这样以来基础的性能开销就很大。而lua是嵌在Nginx进程内部的。

6)当然,OpenResty的周边模块还不完善,不健全。如果要做一个比较复杂的web访问站,目前来说还是php或者其他比较成熟的语言来做更为合适。OpenResty适合逻辑简单但对并发性能要求比较高的项目。此外,从近期用下来的体验来看,OpenResty跟php相比调试没那么方便,不像php可以使用xdebug或者其他调试工具,可以单步调试,在线调试。

二,安装OpenResty

1)依赖库安装

2)下载安装包http://openresty.org/cn/download.html

3)安装编译OpenResty

4)启动nginx

5)创建工作目录并编写helloword

6)nginx配置文件中添加lua.conf

7)配置lua.conf

8)编写lua代码

9)访问接口

 

参考链接:

openresty/lua-nginx-module

OpenResty最佳实践

安装OpenResty(Nginx+Lua)开发环境

使用Nginx+Lua(OpenResty)开发高性能Web应用


上一篇:  下一篇:

评论

还没有任何评论,你来说两句吧

Copyright © 2014-2016 lxlxw All Right Reserved