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

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

好久没有玩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("

hello, world

")';}} }




下面了解一下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

略有逊色一丢丢,但是考虑到我使用的是虚拟机,而且公司网络的原因,结果还是令人满意的。





更多相关:

  • 下面是我在阅读《OpenResty最佳实践》时的实践细节,特此记录一下。这是一份值得反复阅读且十分宝贵的资料,感谢360的开源! 简介 OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。 OpenResty 是一个强大...

  • vim /etc/init.d/nginx   粘贴 #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-...

  • 1.下载nginx   方法一   wget http://nginx.org/download/nginx-1.11.6.tar.gz   方法二   http://nginx.org/en/download.html在Nginx官网手动下载 2.解压nginx的gz包   tar -zxvf nginx-1.11.6.t...

  • 本文档记录了完全使用最新源码来编译安装nginx最新版1.10.3,所有的依赖也是最新的,便于第三方nginx模块开发 假定使用root身份安装 目前最新的源码地址汇总 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz http:/...

  • 为了自己的ThinkPad T420上面的Ubuntu可以使用openresty开发,我特地记录一下安装过程: 安装依赖包 apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential 下载源码并...

  • 根据工作需要,现在需要安装nginx服务器,本来可以直接安装别人制作好的rpm包的,但是本着爱折腾和时刻尝鲜的精神,我决定从官网下载最新的nginx源码来安装,下面记录了我的安装过程。 下面的安装假定是以root用户登录并执行 1.安装依赖库 这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zl...

  • 如果你想在自己的IPhone上安装一个ipa文件,你的手机是无法正常安装的,(越狱,企业证书分发除外)但是我们可以通过以下步骤来实现,前提要有自己的开发者账号。接下来就看一下具体的步骤:第一步:用Xcode新建一个工程Bundle identifier不要和手机中已有的的APP重复,然后用自己的证书打包出ipa文件。第二步:获取mob...

  • 刚接触,啥子都不会,按着教程走需求:识别图片中的文字信息环境:windows系统开发语言:python3.5使用工具类:1.pyocr2.PIL3.tesseract-ocr步骤:1.pyocr网络通直接使用命令:pip install pyocr网络不通,转至https://pypi.python.org/pypi/pyocr/0....

  • 1、前言程序设计好以后会生成若干可执行文件和依赖文件。为了方便程序被更好地使用,需要将程序封装为一个安装程序。2、平台和环境Windows系统安装NSIS下载地址:https://nsis.sourceforge.io/DownloadNSIS(Nullsoft Scriptable Install System)是一个开源的 Win...

  • 展开全部 f=open('xxx','r',encoding='utf-8') file=f.readlines() f.close() f=open('xxx','w',encoding='utf-8') for i in len(file): ----file[i]=file[i].split(',') ----file[i][1...

  • PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7 pillow是PIL的一个分支,虽是分支但是其与PIL同样也具有很强的图像处理库。 Python3.7.0 如何安装pillow 此安装方法在windows7环境下完成: >>>win+r调出运行窗口,键入c...