需求:
若为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的配置工作。
分享到:
相关推荐
./configure --with-http_flv_module --add-module=path/to/nginx-http-flv-module ``` 其中`path/to/nginx-http-flv-module`应替换为实际的模块路径。 6. 编译和安装:执行`make`和`make install`命令来编译和...
标题 "nginx + nginx-http-flv-module-1.2.9" 暗示我们要讨论的是一个基于 Nginx 的 HTTP FLV 模块,版本号为 1.2.9。Nginx 是一个高性能的 Web 和反向代理服务器,而 nginx-http-flv-module 是 Nginx 的一个扩展...
nginx sticky是nginx的module,可以实现基于cookie的负载均衡。 下载后,在编译安装nginx时,用--add-module... ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=../nginx-sticky-module-1.25 --without-...
然后下载Nginx源代码和`nginx-http-flv-module`源码,通过Nginx的configure脚本配置编译选项,将模块加入到Nginx中,接着执行make命令进行编译。需要注意的是,编译时可能需要额外的依赖库,如OpenSSL、PCRE等。 5....
"使用必看.txt"可能包含了编译和使用过程中的注意事项,而"nginx-rtmp.zip"可能是包含了RTMP模块的源代码,这在搭建流媒体服务器时也会用到,因为HTTP FLV Module通常与RTMP模块结合使用,为用户提供更完整的流媒体...
./configure --add-module=../nginx-upload-module-2.3.0 \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-pcre make sudo make install ``` 这里的 `--with-http_ssl_module` 参数表示启用 ...
在解压后的`nginx-1.21.4`目录下,运行配置命令,指定`--add-module`参数指向`nginx-http-flv-module`的源代码路径,例如: ``` ./configure --prefix=/path/to/install/nginx \ --with-http_ssl_module \ --...
压缩包子文件的文件名"nginx-1.19.3_Compiled"表示包含了编译好的Nginx服务器,这通常包括配置文件、二进制可执行文件和其他必要的库文件。用户解压后,可以在自己的服务器上直接部署这个版本的Nginx,无需经历复杂...
--> nginx-1.21.6 ======================== 在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用...
解压之后安装如下: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即可
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现...
"nginx-upstream-jvm-route-1.15"项目很可能提供了解决这个问题的解决方案,可能包括修改Nginx配置模板、添加特定的模块或者提供一种新的路由策略。 在提供的压缩包文件"nginx-upstream-jvm-route-master"中,可能...
总结,这个压缩包中的"nginx-with-http-flv-moudle"是一个包含Nginx、Nginx-RTMP和Nginx-HTTP-FLV模块的预编译版本,特别适合在Windows系统上快速搭建一个具备全面流媒体处理能力的服务器。用户无需复杂的编译过程,...
总之,Nginx-http-flv-module和nginx-rtmp-module的结合使用为搭建高效、稳定、跨平台的流媒体服务提供了可能。理解这些模块的工作原理和配置细节,以及如何在实际环境中应用,是提升网络服务质量的关键。
资源说明: 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-HTTP-FLV-Module-Master】是一个专为Nginx服务器设计的扩展模块,旨在增强其对HTTP FLV(Flash Video)流的支持,并且特别强调了对h265视频编码格式的兼容性。这个模块使得Nginx能够作为一个高效的流媒体...
这可能是因为`nginx-upload-module`是为某个较旧的Nginx版本设计的,因此它的源代码可能没有包含针对新版本Nginx所做的更新。解决这种问题通常需要找到适配新版本Nginx的模块版本,或者对源代码进行必要的修改以适应...
1、最新版 nginx-http-flv-module(windows可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动
./configure --add-module=../nginx-rtmp-module-1.2.1 ``` 4. 编译并安装: ``` make sudo make install ``` ### 配置 Nginx RTMP 模块 在 Nginx 的配置文件(通常位于 /etc/nginx/nginx.conf 或者 /usr/...
在部署集成了`nginx-http-flv-module`的Nginx时,需要在`nginx.conf`中添加或修改相关配置段,以启用RTMP和FLV流服务。例如: ```nginx rtmp { server { listen 1935; # RTMP服务器监听的端口 chunk_size 4096; ...