您的位置:首页 > 运维架构 > Linux

在CentOS 6.9 x86_64上搭建全功能的OpenResty 1.13.6.1笔记

2017-12-27 15:14 495 查看
好久没有玩OpenResty,这段时间机会难得,赶紧实践一下。下面是我在rMBP的CentOS 6.9 x86_64虚拟机上安装目前最新版OpenResty 1.13.6.1的笔记。

OpenResty的下载地址是
https://openresty.org/cn/download.html


下面按照步骤说明如下:

1.安装依赖包

yum -y install readline-devel pcre-devel openssl-devel gcc gcc-c++ perl curl 



2.安装Drizzle Nginx模块的依赖库

这是一个通过libdrizzle直连MySQL或Drizzle数据库的nginx upstream模块。默认不包含在nginx发行包中,如果要启用的话,你需要在configure时添加--with-http_drizzle_module选项。

下面按照其依赖库libdrizzle7,采用了春哥提交的旧版本,目前官网的最新版编译不成功。因为是C++源码包,需要安装有gcc-c++库来编译。

wget http://openresty.org/download/drizzle7-2011.07.21.tar.gz
tar zxvf drizzle7-2011.07.21.tar.gz 

cd drizzle7-2011.07.21

./configure --without-server

make libdrizzle-1.0 

make install-libdrizzle-1.0







参考文献
https://github.com/openresty/drizzle-nginx-module#known-issues https://openresty.org/cn/drizzle-nginx-module.html http://blog.sina.com.cn/s/blog_4f9fc6e10101868j.html http://blog.csdn.net/clarencezi/article/details/21196539
3.安装Postgres Nginx模块的依赖库

该模块默认未启用,可以在configure时添加--with-http_postgres_module来启用它。该模块需要使用外部libpq库,使用下面的命令安装

yum -y install postgresql-libs

yum -y install postgresql-devel

这两个都安装一下,不冲突,库版本号目前是8.4

参考文献
https://www.postgresql.org/ https://github.com/FRiCKLE/ngx_postgres
4.编译安装OpenResty

这次将未启用的模块也编译进来,以便后面的demo更顺利。

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 --prefix=/opt/openresty --with-http_drizzle_module --with-http_postgres_module --with-http_iconv_module

gmake

gmake install

注意,OpenResty 1.5.8.1+之后的版本默认使用LuaJIT组件,在configure时无须使用--with-luajit编译选项

编译中发现默认使用的是LuaJIT 2.1版本







编译完成之后的目录结构如下:



5.设置环境变量

为了后面启动OpenResty的命令简单一些,不用在OpenResty的安装目录下面进行启动,我们设置环境变量来简化操作。

需要将OpenResty中的nginx可执行程序的路径添加到系统可搜索目录下面:

vim /etc/profile

在末尾添加

export PATH=/opt/openresty/nginx/sbin:$PATH

保存退出之后,使之生效

source /etc/profile

可以使用echo $PATH来查看是否已经生效



将刚才安装的动态库libdrizzle.so生效

vim /etc/ld.so.conf

开头添加

/usr/local/lib

保存退出之后,执行刷新

ldconfig

执行下面的命令查看

ldconfig -p | grep --color libdrizzle



6.配置

为了不相互干扰,我们将安装目录和开发目录分开存放,创建新目录来存放配置文件

mkdir -p ~/or_test/{conf,logs}

在~/or_test/conf/nginx.conf配置中添加如下内容

worker_processes  1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 20000;
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>hello, world</p>")
';
}
}
}


下面了解一下OpenResty的选项

-p 设置prefix

-c 设置配置文件路径

-t 测试配置文件并退出
-s 发送指定信号给master进程

查看nginx版本号



校验配置文件合法性

nginx -p ~/or_test

nginx -p ~/or_test -t



重启

nginx -p ~/or_test -s reload

查看nginx是否正常开启。



在目前的配置下,执行nginx命令需要每次都加上-p ~/or_test选项,否则就会变成OpenResty的默认安装路径/opt/openresty了。

7.测试

在命令行输入

curl -i http://localhost:20000


在火狐浏览器中的效果



8.性能测试Benchmark

ab -c10 -n50000 http://localhost:20000/
对测试结果,我们只关心这项指标

Requests per second:    17797.10 [#/sec] (mean)





对比春哥官网上的数据
https://openresty.org/cn/benchmark.html


17k+ r/s vs 20k+ r/s

略有逊色一丢丢,但是考虑到我使用的是虚拟机,而且公司网络的原因,结果还是令人满意的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: