下载vts插件:(如果报错说/usr/local不为空可以先下载到其他路径,然后必须再移过来)

git clone git://github.com/vozlt/nginx-module-vts.git /usr/local

下载openresty-packaging:生成Openresty RPM包的配置文件

git clone https://github.com/openresty/openresty-packaging.git ~/

有些文章中提及要下载Openresty源码,实际操作时发现编译rpm时会自动下载

下载你需要编译的版本的openresty源码:

wget https://openresty.org/download/openresty-1.15.8.2.tar.gz
mv openresty-1.15.8.2.tar.gz ~/rpmbuild/SOURCES/

准备打包环境

安装rpm build工具包

yum install rpm-build redhat-rpm-config rpmdevtools yum-utils

安装OpenResty依赖包

yum install -y openssl-devel zlib-devel pcre-devel gcc make perl perl-Data-Dumper libtool ElectricFence systemtap-sdt-devel valgrind-devel

因为我是基于centos7 mini编译的,还需要其他一些包:

yum -y install gcc gcc-c++ pcre zlib openssl ccache

在编译RPM包的过程中,会存在彼此依赖的情况,为了方便编译,直接在编译服务器上把这些依赖包全部装上

yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
yum install -y openresty-zlib-asan-devel openresty-openssl-asan-devel openresty-pcre-asan-devel \
openresty-zlib-devel openresty-openssl-debug-devel openresty-pcre-devel openresty-openssl-devel

准备RPM环境

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
cp ~/openresty-packaging/rpm/SOURCES/* ~/rpmbuild/SOURCES/
cp ~/openresty-packaging/rpm/SPECS/*.spec ~/rpmbuild/SPECS

打包

cd ~/rpmbuild/SPECS

修改openresty.spec添加vts插件

vi openresty.spec

可以修改需要编译的版本号,然后在configure参数中加入如下内容:(注意等会前后不要有空格,参考的文章中误加空格导致编译错误)

--add-module=/usr/local/nginx-module-vts \

在此目录执行 rpmbuild -ba openresty.spec

编译后的RPM包位于~/rpmbuild/RPMS/x86_64/目录,生成如下文件:

openresty-1.15.8.2-6.el7.x86_64.rpm
openresty-debuginfo-1.15.8.2-6.el7.x86_64.rpm
openresty-zlib-1.2.11-3.el7.x86_64.rpm
openresty-zlib-debuginfo-1.2.11-3.el7.x86_64.rpm
openresty-zlib-devel-1.2.11-3.el7.x86_64.rpm

debuginfo和zlib-devel包部署时候不需要,部署所需包为:

openresty-1.15.8.2-6.el7.x86_64.rpm
openresty-openssl-1.1.0k-3.el7.x86_64.rpm
openresty-pcre-8.43-1.el7.x86_64.rpm
openresty-zlib-1.2.11-3.el7.x86_64.rpm

部署新Openresty:(注意备份现有配置)

yum remove openresty
rpm -ivh *rpm

配置vts,在nginx.conf配置文件中加入如下内容

http {vhost_traffic_status_zone;...server {...location /status {vhost_traffic_status_display;vhost_traffic_status_display_format html;}}
}

可能遇到的问题

依赖的openresty模块不存在

在执行打包过程中可能会出现以下错误

1

2

3

4

5

6

openresty-zlib-asan-devel >= 1.2.11-6 is needed by openresty-asan-1.13.6.2-6.el7.centos.x86_64

openresty-openssl-asan-devel >= 1.1.0h-1 is needed by openresty-asan-1.13.6.2-6.el7.centos.x86_64

openresty-pcre-asan-devel >= 8.42-1 is needed by openresty-asan-1.13.6.2-6.el7.centos.x86_64

openresty-zlib-devel >= 1.2.11-3 is needed by openresty-debug-1.13.6.2-1.el7.centos.x86_64

openresty-openssl-debug-devel >= 1.1.0h-1 is needed by openresty-debug-1.13.6.2-1.el7.centos.x86_64

openresty-pcre-devel >= 8.42-1 is needed by openresty-debug-1.13.6.2-1.el7.centos.x86_64

解决办法

1

2

yum install openresty-zlib-asan-devel openresty-openssl-asan-devel openresty-pcre-asan-devel \

openresty-zlib-devel openresty-openssl-debug-devel openresty-pcre-devel openresty-openssl-devel

openresty监控模块nginx-module-vts编译安装相关推荐

  1. Nginx基础篇-Nginx 源码编译安装与平滑升级

    Nginx基础篇-Nginx 源码编译安装与平滑升级 Nginx官网下载地址 http://nginx.org/ 1.安装依赖包 yum -y install pcre-devel zlib-deve ...

  2. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  3. (转)linux上nginx源码编译安装

    亲测有效: 转:  https://segmentfault.com/a/1190000007116797https://segmentfault.com/a/1190000007116797 ngi ...

  4. Nginx 源码编译安装配置

    Nginx 源码安装 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为虚拟机,selinux.firewalld都已经关闭.此次安装面向新手,并没有提前把所有问题解决, ...

  5. Nginx 源码编译安装

    Nginx 源码编译安装环境 Centos7 Nginx1.8.1    下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http: ...

  6. Centos+Nginx+PHP7.0编译安装(和PHP5.6老版本共存)

    来源:http://blog.csdn.net/liuxinmingcode/article/details/50319145 场景 LNMP  当前版本:PHP 5.5.7  为了体验PHP7的速度 ...

  7. Linux 利用nginx源码编译安装nginx

    环境 1, CentOS 7 2, nginx 1.13.6 步骤 1,编译前准备 yum install pcre* openssl openssl-devel zlib zlib-devel 2, ...

  8. Nginx 之一:编译安装nginx 1.8.1 及配置

    转http://www.cnblogs.com/zhang-shijie/p/5294162.html 一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍 ...

  9. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

    centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...

  10. nginx 的离线编译安装

    下载 官网站点下载nginx安装包,下载最新稳定版(Stable version). 或者访问站点下载rpm版本. 本文以 CentOS7 使用 rpm 版本安装为例. 安装 安装nginx软件的方式 ...

最新文章

  1. ECMAScript 6入门
  2. java B2B2C 源码 多级分销Springcloud多租户电子商城系统(十)用spring Restdocs创建API文档...
  3. 仿苹果通知显示在图标右上角上
  4. BZOJ 4584 [Apio2016]赛艇
  5. MySQL主从复制(二)
  6. 零垃圾创建数百万个对象
  7. C语言的标识符由什么组成
  8. squid android 工具包,xUtils Android工具包 v3.9.0
  9. 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体
  10. java中怎么创建单列模式,java中的3种方式创建的单例模式
  11. Javascript笔记大全03
  12. 学习笔记之DNS配置(视图,日志,动态DNS)
  13. 数据分析——员工离职预测
  14. 塞规公差带图_塞规公差2017
  15. Vue组织架构图组件
  16. Android文字实现跑马灯效果——两种方法实现
  17. Zabbix+MatrixDB大规模监控与分析解决方案详解(含PPT)
  18. Eclipse设置自动保存
  19. 想成为“独立名师”,你还要做到哪几点?
  20. 成人职业教育:知乎、B站、网易“短兵相接”

热门文章

  1. 如何使用ublox ZED-F9P 配置基准站、移动站+差分电台实现RTK定位
  2. 中高级前端面试宝典之浏览器篇
  3. 带圈数字和常用数学符号怎么写(上标、下标)
  4. 机器学习实战:用SVD压缩图像
  5. 使用C进行编译在mac中出现‘malloc.h‘ file not found
  6. C++ QT笔记_2
  7. STM32实现PWM移相任意角度
  8. windows10系统超全面优化攻略,不浪费电脑性能。
  9. 图书管理系统E-R图
  10. InfoGAN理论分析帖汇总