下面是我在阅读《OpenResty最佳实践》时的实践细节,特此记录一下。这是一份值得反复阅读且十分宝贵的资料!
简介
OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。
OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
360,UPYUN,阿里云,新浪,腾讯网,去哪儿网,酷狗音乐等都是 OpenResty 的深度用户。
目前官网最新版本是1.9.7.4,我就拿它作为示例。
安装依赖
OpenResty依赖库有:perl 5.6.1+, libreadline, libpcre, libssl。
在CentOS上安装如下
yum -y install readline-devel pcre-devel openssl-devel gcc perl
下载源码
wget https://openresty.org/download/openresty-1.9.7.4.tar.gz
tar zxvf openresty-1.9.7.4.tar.gz -C ~/program_develop/
cd ~/program_develop/
cd openresty-1.9.7.4
编译安装
可以自定义安装目录,和启用和禁用哪些模块,我采用自定义安装目录为/opt/openresty
./configure --prefix=/opt/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module
gmake
gmake install
设置环境变量
安装完成后,我们可以看到/opt/openresty目录下面有如下目录,主要是增加了一些lualib中的第三方模块,为使用lua开发提供了很大便利。
为了使用方便,我们需要将openresty的路径加入系统路径下面,为此
vim /etc/openresty
将/opt/openresty/nginx/sbin加入PATH变量中
export PATH = /opt/openresty/nginx/sbin:$PATH
使用source /etc/profile来使配置生效,可以使用echo $PATH来查看是否确保生效。
配置
为了安装目录和开发目录互不干扰,我们采取创建单独的目录来存放开发文件,为此在当前家目录创建
mkdir -p ~/openresty-test ~/openesty-test/conf ~/openresty-test/logs
在confs下创建一个自定义的nginx.conf文件
可以使用的命令来检查nginx.conf配置的合法性,开启,停止,重启nginx,热加载配置等等
使用下面的命令来开启openresty
nginx -p ~/openresty-test
查看nginx是否正常开启
示例
在命令行中输入如下命令
curl http://localhost:6699 -i
-i选项表示只显示response header和body