`
100Continue
  • 浏览: 159783 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

为Nginx的Configure添加配置参数--with-lcov

阅读更多

 

需求:

若为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_OPTNGX_LD_OPT进行设置

if [ $NGX_LCOV = YES ]; then

NGX_CC_OPT="-fprofile-arcs -ftest-coverage"

NGX_LD_OPT=-lgcov

fi

 

 

最后,所有工作就此完成。在configure的时候,只需要配置参数为--with-lcov,就能完成lcov的配置工作。

0
1
分享到:
评论

相关推荐

    添加nginx-http-flv-module模块并重新编译后的nginx(windows版)

    ./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 + nginx-http-flv-module-1.2.9" 暗示我们要讨论的是一个基于 Nginx 的 HTTP FLV 模块,版本号为 1.2.9。Nginx 是一个高性能的 Web 和反向代理服务器,而 nginx-http-flv-module 是 Nginx 的一个扩展...

    nginx-sticky-module-1.25.zip

    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-http-flv-moudle

    然后下载Nginx源代码和`nginx-http-flv-module`源码,通过Nginx的configure脚本配置编译选项,将模块加入到Nginx中,接着执行make命令进行编译。需要注意的是,编译时可能需要额外的依赖库,如OpenSSL、PCRE等。 5....

    windows平台nginx编译nginx-http-flv-module

    "使用必看.txt"可能包含了编译和使用过程中的注意事项,而"nginx-rtmp.zip"可能是包含了RTMP模块的源代码,这在搭建流媒体服务器时也会用到,因为HTTP FLV Module通常与RTMP模块结合使用,为用户提供更完整的流媒体...

    nginx上传下载之nginx-upload-module-2.3.0

    ./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-http-flv-module 1.2.9模块的64位nginx-1.21.4程序

    在解压后的`nginx-1.21.4`目录下,运行配置命令,指定`--add-module`参数指向`nginx-http-flv-module`的源代码路径,例如: ``` ./configure --prefix=/path/to/install/nginx \ --with-http_ssl_module \ --...

    nginx-1.19.3_nginx-http-flv-module.rar

    压缩包子文件的文件名"nginx-1.19.3_Compiled"表示包含了编译好的Nginx服务器,这通常包括配置文件、二进制可执行文件和其他必要的库文件。用户解压后,可以在自己的服务器上直接部署这个版本的Nginx,无需经历复杂...

    nginx-http-flv-module(windows版)

    --> nginx-1.21.6 ======================== 在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用...

    nginx-module-vts-0.1.18.tar.gz

    解压之后安装如下: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即可

    nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip

    Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现...

    nginx-upstream-jvm-route-1.15

    "nginx-upstream-jvm-route-1.15"项目很可能提供了解决这个问题的解决方案,可能包括修改Nginx配置模板、添加特定的模块或者提供一种新的路由策略。 在提供的压缩包文件"nginx-upstream-jvm-route-master"中,可能...

    nginx带nginx-http-flv模块windows编译版rtmp

    总结,这个压缩包中的"nginx-with-http-flv-moudle"是一个包含Nginx、Nginx-RTMP和Nginx-HTTP-FLV模块的预编译版本,特别适合在Windows系统上快速搭建一个具备全面流媒体处理能力的服务器。用户无需复杂的编译过程,...

    nginx-http-flv-module-1.2.10(包含nginx-rtmp-module)

    总之,Nginx-http-flv-module和nginx-rtmp-module的结合使用为搭建高效、稳定、跨平台的流媒体服务提供了可能。理解这些模块的工作原理和配置细节,以及如何在实际环境中应用,是提升网络服务质量的关键。

    nginx-1.19.3-http-flv.zip

    资源说明: 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-Module-Master】是一个专为Nginx服务器设计的扩展模块,旨在增强其对HTTP FLV(Flash Video)流的支持,并且特别强调了对h265视频编码格式的兼容性。这个模块使得Nginx能够作为一个高效的流媒体...

    nginx-upload-module-2.0.tar.gz

    这可能是因为`nginx-upload-module`是为某个较旧的Nginx版本设计的,因此它的源代码可能没有包含针对新版本Nginx所做的更新。解决这种问题通常需要找到适配新版本Nginx的模块版本,或者对源代码进行必要的修改以适应...

    nginx-http-flv-module(windows & nginx1.19.3 & http-flv-module1.2.7).zip

    1、最新版 nginx-http-flv-module(windows可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动

    nginx-rtmp-module-1.2.1.tar.gz

    ./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 1.2.7模块的64位nginx程序

    在部署集成了`nginx-http-flv-module`的Nginx时,需要在`nginx.conf`中添加或修改相关配置段,以启用RTMP和FLV流服务。例如: ```nginx rtmp { server { listen 1935; # RTMP服务器监听的端口 chunk_size 4096; ...

Global site tag (gtag.js) - Google Analytics