Openresty下载及安装

简言 -- > OpenResty是由中国人章亦春发起,是一个可伸缩的基于Nginx的Web平台,使用Lua脚本语言调动Nginx支持各种C以及Lua模块,可以快速构造出足以胜任10K乃至1000K以上单机并发连接响应的超高性能应用系统。 > OpenResty旨在完全在Nginx服务器中运行您的服务器端Web应用程序,利用Nginx的事件模型不仅可以与HTTP客户端进行非阻塞I / O,还可以使用MySQL,PostgreSQL,Memcached和Redis等远程后端。 > **OpenResty运行原理** Nginx采用的是Master-worker模型,一个Master进程管理多个worker进程,基本的事件处理都放在worker中,Master负责一些全局出初始化,以及对worker的管理。在openresty中,每个worker使用一个LuaVM,当请求被分配到worker时,将在LuaVm里创建一个coroutine(协程)。协程之间数据隔离,每个协程具有独立的全局变量_G。 ps. 协程和多线程下的线程类似:有自己的堆栈,自己的局部变量,有自己的指令指针,但是和其他协程程序共享全局变量等信息。线程和协程的主要不同在于:多处理器的情况下,概念上来说多线程是同时运行多个线程,而协程是通过代码来完成协程的切换,任何时刻只有一个协程程序在运行。并且这个在运行的协程只有明确被要求挂起时才会被挂起。 > **OpenResty的优势** 首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。 > 借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。 > 而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。 1.下载 -- 登录openresty.org找到相关版本链接,复制链接地址下载。 ``` wget http://openresty.org/download/openresty-1.19.3.1.tar.gz ``` 2.解压 -- 使用tar zxvf 指令解压下载好的文件。 ``` tar zxvf openresty-1/19/3/1/tar/gz ``` 3.安装 -- 使用configure指令安装 ``` ./configure --prefix=/root/openresty ``` 安装过程中若出现以下错误,为缺少openssl依赖 ``` ./configure :error:SSL modules require the OpenSSL library. ``` 使用'yum'指令直接安装即可。 ``` yum -y install openssl openssl-devel ``` 依赖安装完成后,重新执行,安装指令 ``` ./configure --prefix=/root/openresty ``` 4.编译 -- 安装完成后,依次使用`make`和`make install`指令。 --- 安装完成后,会在安装文件夹下,生产Nginx目录,进入此目录下,找到配置文件,可以使用此项目做负载均衡。 可以在server块中添加如下location配置,做相关lua操作。 ``` location /lua { default_type text/html; content_by_lua 'ngx.say("User-Agent:", ngx.req.get_headers()["User-Agent"])'; } ngx.say => 是在body中添加内容。 ```