一、简介
OpenResty®(又称:ngx_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 等都进行一致的高性能响应。
参考组件可以知道 OpenResty®中包含了多少软件。
参考上路学习如何从最简单的 hello world 开始使用 OpenResty®开发 HTTP 业务,或前往下载直接获取 OpenResty®的源代码包开始体验。
360,UPYUN,阿里云,新浪,腾讯网,去哪儿网,酷狗音乐等都是 OpenResty 的深度用户。
二、安装
1、安装依赖
yum install readline-devel pcre-devel openssl-devel
2、下载安装包
下载最新的 OpenResty 源码包并解压编译安装:
wget https://openresty.org/download/openresty-1.13.6.1.tar.gz
tar zxvf openresty-1.13.6.1.tar.gz
cd openresty-1.13.6.1
./configure
make
make install
默认情况下程序会被安装到 /usr/local/openresty 目录。
可以使用 ./configure --help 查看更多的配置选项。
三、测试
1、配置
安装成功后,可以使用 openresty 直接输出 html 页面。
首先我们可以创建一个工作目录:
mkdir ~/work
cd ~/work
mkdir logs/ conf/
其中 logs 目录用于存放日志,conf 用于存放配置文件。
在 conf 目录下创建一个 nginx.conf 文件,代码如下:
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 9000;
location / {
default_type text/html;
content_by_lua '
ngx.say("hello, world")
';
}
}
}
2、启动
默认情况下, openresty 安装在 /usr/local/openresty 目录中,启动命令为:
/usr/local/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf
也可以添加到环境变量:
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
如果没有任何输出,说明启动成功,-p 指定我们的项目目录,-c 指定配置文件。
接下来我们可以使用 curl 来测试是否能够正常范围:
curl http://localhost:9000/
输出结果为:
Hello, World!
或者通过浏览器访问 http://localhost:9000/:
在配置文件写的 html 已正常输出。