关于 OpenResty

官方链接: http://openresty.org/cn/

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 的源代码包开始体验。

安装前的准备

官方链接: http://openresty.org/cn/installation.html

您必须将这些库 perl 5.6.1+, libreadline, libpcre, libssl安装在您的电脑之中。 对于 Linux 来说, 您需要确认使用 ldconfig 命令,让其在您的系统环境路径中能找到它们。

Debian 和 Ubuntu 用户

1
apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential

Fedora 和 RedHat 用户

1
yum install readline-devel pcre-devel openssl-devel gcc

Mac OS X (Darwin) 用户

1
2
brew update
brew install pcre openssl

下载安装

1
2
3
4
5
tar -xzvf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure
make
sudo make install

新手上路

官方链接: http://openresty.org/cn/getting-started.html

1
2
3
mkdir ~/work
cd ~/work
mkdir logs/ conf/

添加配置文件

1
vi conf/nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
### nginx.conf 内容 ###
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>hello, world</p>")
';
}
}
}

添加并导入环境变量

1
2
3
4
5
vi ~/.bash_profile

### 添加此行 ###
export PATH=/usr/local/openresty/nginx/sbin:$PATH
### 添加此行 ###
1
. ~/.bash_profile

启动服务

1
nginx -p `pwd`/ -c conf/nginx.conf

访问 http://localhost:8080/