好久没有玩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
略有逊色一丢丢,但是考虑到我使用的是虚拟机,而且公司网络的原因,结果还是令人满意的。

在CentOS 6.9 x86_64上搭建全功能的OpenResty 1.13.6.1笔记相关推荐

  1. CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)

    本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...

  2. Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器

    Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器 2013-12-25 1.从官网下载源码包 cd ~/progrom_devel ...

  3. 小智伴机器人使用说明_智伴机器人丨史上最全功能,玩转小智伴看这里!

    原标题:智伴机器人丨史上最全功能,玩转小智伴看这里! 不知不觉,智伴机器人陪伴大家已经有一年的时间啦~小智伴在陪伴孩子成长的路上,功能也在不断迭代.更新.是时候再出一篇最新最全的功能文了!当我们第一次 ...

  4. 搭建全功能绿色版本的Flex Builder 3.0.1

    啰嗦两句: 在本文中,我将向大家介绍一下如何在本地搭建全功能绿色版本的Flex Builder 3.0.1.先说说什么是绿色版本呢?顾名思义嘛,就是只需要解压就可以运行的版本啦,使用完后,可以放心的直 ...

  5. 在CentOS 6.8 x86_64上安装ATS 6.2.1实录

    我的博客上已经有很多这样的ats安装实录了,这次的笔记有些不一样,因为它是ATS目前最新的LTS版本6.2.1的安装,写出来更多的是整理自己的思路,因为很多东西搞过不整理,过一段时间就完全忘记掉了. ...

  6. 在CentOS 6.6 x86_64上安装SystemTap/Perf+FlameGraph玩转火焰图实录

    下面是我结合网上资料摸索出的可行的操作方法,记录在这样,以备后面继续研究.操作系统是CentOS 6.6 x86_64. 1.将内核版本升级到最新版 因为我机器上CentOS 6.6的内核版本号是2. ...

  7. 在CentOS 6.9 x86_64上开启nginx 1.12.2的proxy_cache缓存配置

    本文研究nginx提供的缓存功能,下面是实操记录. 这篇博文基于前面文章的基础上搭建,至始至终都是root用户操作 http://blog.csdn.net/tao_627/article/detai ...

  8. 用树莓派搭建全功能NAS服务器(03):了解你的网络内网穿透

    写在前面 上次搭建完下载机之后,就开始了睡觉时间愉快的下载时光.只要种子不是非常冷门,下载速度什么的也都是很可观的.一觉起来昨天添加的一大堆都下载好了. 但是现在我们的NAS还只能是局域网访问和操作, ...

  9. 用树莓派搭建全功能NAS服务器(01):树莓派基础操作OMV搭建

    写在前面 对于文件互传来说,局域网和云盘的操作总是独立的,而且很难将两者的优势合为一体.如果想要集多种优势为一体,那么NAS应该就是较为完美的解决方案了. 在这个系列中我们尽量跳过一些枯燥的理论知识, ...

最新文章

  1. c++图书管理系统_轻松学做C语言课程设计:图书管理系统-数组实现
  2. Bzoj4817:[SDOI2017]树点涂色
  3. 快速开发一个自定义 Spring Boot Starter ,希望你也会
  4. 数据结构-单链表进阶之快慢指针原理(快速查找法)
  5. C# VS2012操作word文档 (一).创建文档
  6. 33.Node.js 文件系统fs
  7. 编写字符串反转函数 .
  8. 2020 华为杯 数模 B题 数据挖掘
  9. 手机能打开的表白代码_数据分析移动化:打开手机就能做分析
  10. 前端面试题之http/HTML/浏览器(二)
  11. iphone长截图哪个软件好_iPhone网络电话软件哪个好?
  12. html点击按钮动态添加input文本框
  13. MYSQL语句:创建、授权、查询、修改、统计分析等 一 用户的创建、权限设置、删除等...
  14. VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)
  15. < span >标签的使用
  16. 纯CSS简单实现漂亮的timeline时间轴效果(样式1)
  17. 【墨尘】变态心理学(北京大学)
  18. 写一手好SQL很有必要
  19. Java:File和IO流
  20. 通达信操作箱体,箱顶和箱底线指标公式源码 红色持股绿色持币

热门文章

  1. iOS Webview打开不受信的URL
  2. C++ 笔记(01)— 环境设置(安装g++、g++ 编译 C++、 生成可执行文件流程、解释器与编译器区别)
  3. Android WiFi开发教程(三)——WiFi热点数据传输
  4. 链接全局变量再说BSS段的清理
  5. “AS3.0高级动画编程”学习:第二章转向行为(上)
  6. perl语言编程 第四版_2020年,5 种 将死的编程语言!
  7. redis分布式锁 在集群模式下如何实现_收藏慢慢看系列:简洁实用的Redis分布式锁用法...
  8. linux刷新指定URL脚本,【图片】linux下crontab定时执行本地脚本和定时访问指定url【不要牧师吧】_百度贴吧...
  9. linux中文麻酱字_【树】Linux笔记 1
  10. as 不显示gradle视图_Python构建RESTful网络服务[Django篇:基于类视图的API]