快速业务通道

nginx编译openssl版本兼容或排错修复

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-25

  在nginx-0.7.59之前,系统自带的openssl版本低于openssl-0.9.8e时编译时报错如下:

  objs/ngx_modules.o -lcrypt -lpcre -lzobjs/src/http/ngx_http_file_cache.o: In function `ngx_http_file_cache_create_key'':/EBS/soft-backup/nginx-0.7.58/src/http/ngx_http_file_cache.c:128: undefined reference to `MD5_Init''/EBS/soft-backup/nginx-0.7.58/src/http/ngx_http_file_cache.c:138: undefined reference to `MD5_Update''/EBS/soft-backup/nginx-0.7.58/src/http/ngx_http_file_cache.c:145: undefined reference to `MD5_Final''collect2: ld returned 1 exit statusmake[1]: *** [objs/nginx] Error 1make[1]: Leaving directory `/EBS/soft-backup/nginx-0.7.58''make: *** [build] Error 2the change log:Changes with nginx 0.7.59 25 May 2009 *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" directives. *) Bugfix: socket leak; the bug had appeared in 0.7.25. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault occurred in worker process, if a request had no body and the $request_body variable was used; the bug had appeared in 0.7.58. *) Bugfix: the SSL modules might not built on Solaris and Linux; the bug had appeared in 0.7.58. *) Bugfix: ngx_http_xslt_filter_module responses were not handled by SSI, charset, and gzip filters. *) Bugfix: a "charset" directive did not set a charset to ngx_http_gzip_static_module responses.

  以上转载http://blog.chinaunix.net/u/32831/showart_1953211.html

  感谢提供

  --------------------------------------------------------------------------------

  先确定好 openssl 的版本 以及跟nginx的版本匹配,排除一个可能

  这里有最新版本的

  l版本的http://u.xunzai.com/fileview_222768.html

  然后我发现在Makefile 里面,nginx 都是依旧的默认要手动安装,当然不排除linuxtone里面的roin 教的方法,原理就是要搜索 ldconfig 的目录下的libssl.so

  ln -sf openssl/lib/libsslXXXX /usr/lib 手动整理库链接

  知道归知道,但是对于Makefile不熟悉没找出调用的结构体,而如果有需要(就是无法使用ldconfig或者其他原因)就可以手改Makefile 的目录

  ~/soft/openssl-0.9.8l/openssl/include/openssl/ssl.h: objs/Makefile

  cd ~/soft/openssl-0.9.8l

  && $(MAKE) clean

Empire CMS,phome.net

  && ./config

  --prefix=/home/yuan520/soft/nginx-0.7.64/~/soft/openssl-0.9.8l/openssl 这里的路径是错误的,具体按需修改,顺利指向你的openssl目录即可

  no-shared no-threads ---虽然说使用挂了no-shared 理论上会不和其他版本的openssl冲突,但是实际上我试验了却不行,依旧需要处理好版本兼容的问题

  && $(MAKE)

  && $(MAKE) install

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号