一、简介
OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。
OpenResty通过汇聚各种设计精良的Nginx模块(主要由OpenResty团队自主开发),从而将Nginx有效地变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可以使用Lua脚本语言调动Nginx支持的各种C以及Lua模块,快速构造出足以胜任10K乃至1000K以上单机并发连接的高性能Web应用系统。
OpenResty的目标是让你的Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MySQL、PostgreSQL、Memcached以及Redis等都进行一致的高性能响应。
公司目前有这种通过lua合并接口的需求,来达到减少请求数量的目标,在nginx作为反向代理接收到请求时根据请求路径将原来多个接口的请求合并到一个json返回,减少http请求数,提高请求效率增加并发量。
二、安装
1、openResty下载地址:http://openresty.org/cn/download.html,本地为了测试方便下载的Windows版本,生产还是用的linux版本。下载完成后解压缩到常规目录就可以了。
2、启动nginx
在openResty根目录下有一个nginx.exe文件,双击即可启动,或者通过cmd打开命令提示符,通过nginx.exe运行。
3、验证
打开conf目录下的nginx.conf配置文件,nginx默认启动地址是localhost:80,如果端口冲突也可以修改监听端口。
可以看到OpenResty已经启动。
在命令行窗口通过tasklist /fi "imagename eq nginx.exe"命令查看nginx进程,可以看到有两个nginx进程,因为我们的nginx.conf中配置的工作进程是1,加上一个master进程正好是2个。
正常情况下,我们会有很多环境,包括开发环境、测试环境、压测环境、生产环境等,为了不同环境的nginx配置不同,为了便于切换,我们会编写不同的配置文件,然后引入配置文件。比如这里可以修改conf下的nginx.conf文件,引入dev环境的配置,这样启动的nginx就是开发环境的配置:
4、常用命令
1)启动,一般可以通过start nginx启动,这种方式是后台启动,结合tasklist /fi "imagename eq nginx.exe"查看nginx进程是否真正启动,最好不要通过nginx.exe直接启动,这种是前台启动
2)停止,可以通过nginx.exe –s stop或nginx.exe –s quit停止,quit是正常退出,stop是强制立刻退出,可能丢失信息。
3)重载nginx,如果修改了nginx.conf配置,想要配置立即生效,就可以通过nginx.exe –s reload重载nginx
4)查看nginx版本,nginx.exe –v
5)验证nginx配置是否成功,nginx.exe -t
6)如果出现nginx进程无法杀死的情况,可以通过任务管理器,或者命令taskkill /f /t /im 4904 “进程ID或进程名称”杀死进程
7)打开日志文件,nginx.exe –s reopen
8)错误定位
通常情况下nginx启动、运行出现的错误都会记录日志,在logs目录下的error.log文件可以看到日志记录。