需求:
若为Nginx添加lcov的相关功能,需要在configure的时候配置参数:
--with-cc-opt="-fprofile-arcs
-ftest-coverage" --with-ld-opt=-lgcov
但是,叔度提出,每次configure都要写这些参数,太麻烦,能不能直接写一个--with-lcov就解决问题呢?
因此,后面的解决方案就是为Nginx的Configure添加配置参数--with-lcov,实现于2011年12月。
解决方案:
首先分析nginx源码的configure文件,从里面去查看configure的时候,是由哪里代码负责处理配置参数的。
最后发现,配置参数的读取及设置,是在nginx源码的auto文件夹内的option文件内处理的。
下面的代码贴出与--with-cc-opt,
--with-ld-opt相关的处理代码:
//
设置lcov相关变量参数
NGX_CC_OPT=
NGX_LD_OPT=
//
根据配置参数,设置NGX_CC_OPT与NGX_LD_OPT的值
--with-cc-opt=*)
NGX_CC_OPT="$value"
;;
--with-ld-opt=*)
NGX_LD_OPT="$value"
;;
//
help方法内对--with-cc-opt和--with-ld-opt参数的说明
--with-cc-opt=OPTIONS set additional options for C
compiler
--with-ld-opt=OPTIONS set additional options for linker
看过源码内对--wiht-cc-opt与--with-ld-opt的设置之后,可以很轻易的想到,增加一个--with-lcov参数之后,
只要将--with-cc-opt和--with-ld-opt设置成固定值就ok了。
因此,解决方案如下:
//
设置--with-lcov的变量参数
NGX_LCOV=NO
//
根据配置参数,设置NGX_LCOV的值
--with-lcov) NGX_LCOV=YES ;;
//
编写help方法内对--with-lcov参数的说明
--with-lcov enable lcov, the valid
values:
--with-cc-opt=\"-fprofile-arcs
-ftest-coverage\"
--with-ld-opt=-lgcov
// 根据NGX_LCOV的值,对NGX_CC_OPT和NGX_LD_OPT进行设置
if [
$NGX_LCOV = YES ]; then
NGX_CC_OPT="-fprofile-arcs -ftest-coverage"
NGX_LD_OPT=-lgcov
fi
最后,所有工作就此完成。在configure的时候,只需要配置参数为--with-lcov,就能完成lcov的配置工作。
分享到:
相关推荐
添加nginx-http-flv-module模块并重新编译后的nginx(windows版)
nginx sticky是nginx的module,可以实现基于cookie的负载均衡。 下载后,在编译安装nginx时,用--add-module... ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=../nginx-sticky-module-1.25 --without-...
windows平台nginx编译nginx-http-flv-module,可直接运行,基于nginx-1.17.10编译
在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所有的安装包,参考:https://blog.csdn.net/qq_33071429/article/details/102628008
--> nginx-1.21.6 ======================== 在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用...
资源说明: 1. 采用nginx最新版编译,包含最新的nginx-http-flv-module,以及基础...1. 将压缩包解压到D:\nginx-1.19.3目录下 2. 使用cmd命令打开DOS,并切换到D:\nginx-1.19.3 3. 使用nginxservice.exe install安装
此资源有两个文件,含 nginx-upstream-jvm-route 和 nginx 对应版本,都是tar.gz文件。 安装方法网上很多就不写了,亲测可用。 不用担心版本不匹配造成安装失败,再浪费积分去到处下载尝试的烦恼。 此资源有两个文件...
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现...
基于nginx1.19.3版本,已编译好nginx-http-flv-module,开箱即用。鄙视那些收C币的。
windows下编译nginx-http-flv-moudle,编译好的,下载开箱可用,作者亲测。用于直播推流,浏览器flvjs播放视频,支持无插件flash播放。
1、最新版 nginx-http-flv-module(windows可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动
解压之后安装如下:mv nginx-module-vts-0.1.18 /usr/local/ yum -y install gcc gcc-c++ ..../configure --add-module=/usr/local/nginx-module-vts-0.1.18/ make && make install然后把监控参数编辑到nginx.conf即可
windows版,2021年6月23日编译,已编译nginx-http-flv-module直播推流模块
1、最新版 nginx-http-flv-module(linux可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动 4、sbin/nginx -c conf/nginx.conf
nginx + nginx-http-flv-module-1.2.9
windows下编译的nginx,添加了nginx-http-flv-module,可用作实时流媒体服务器使用,具体是使用和配置方面可参照https://github.com/winshining/nginx-http-flv-module进行使用和配置。
1、nginx-http-flv-module(windows可执行程序,含http-flv-module:1.2.7,nginx 1.19.3) 2、不要放置于中文路径下,否则无法启动 3、说明文档,请下载查看。
nginx带nginx-http-flv模块,包含所有rtmp功能,我自己在windows下编译的,直接可用,用的是最新版的1.19.4版本
nginx-http-flv-module-master.zip 为http-flv做直播推流需要用到的,功能比rtmp-moudle强大。
采用官网下载的nginx 1.21.4、nginx-http-flv-module 1.2.9、zlib-1.2.11、openssl-1.1.1l、pcre-8.45编译而成的64位nginx程序。