设为首页 收藏本站
查看: 1046|回复: 0

[经验分享] apache动态编译/静态编译区别

[复制链接]

尚未签到

发表于 2018-11-28 12:30:53 | 显示全部楼层 |阅读模式
  以前编译apache的时候
  都是google搜索到的直接拿来用
  这次自己编译mod_rewrite和ssl遇到了问题
  又不知道问题出在哪里
  一个是mod_rewrite模块没有起作用
  一个是以ssl启动apache的时候报告如下错误:
  apachectl startssl
  Syntax error on line 246 of /usr/local/apache2/conf/httpd.conf:
  Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: X509_free
  后来经过查找
  明白了问题出在哪里
  当时我是这么编译apache的
  ./configure
  --prefix=/usr/local/apache2
  --enable-so
  --enable-mods-shared=most
  --enable-rewrite
  --enable-speling
  --enable-forward
  --enable-ssl
  --with-ssl=/usr/local/openssl
  而问题就出在–enable-so
  现在知道了–enable-so的意思是说
  让apache 核心装载DSO,但是不实际编译任何动态模块
  –enable-ModuleName的意思是说 编译并包含模块ModuleName
  而 –enable-ModuleName=shared 的意思是说将这个模块编译成动态的.
  明白了这几个选项的意思,感觉就水落石出了
  根据上面的总结
  我应该去掉–enable-so这行
  如何希望动态编译模块
  比如:–enable-rewrite应该替换为: –enable-rewrite=shared
  最后,我将要编译的应该为:
  ./configure
  --prefix=/usr/local/apache2
  --enable-mods-shared=most
  --enable-rewrite
  --enable-speling
  --enable-forward
  --enable-ssl
  --with-ssl=/usr/local/openssl
  上面中 –enable-mods-shared=most的意思是说 动态的编译进来大多数的模块
  而 –enable-mods-shared=all是指动态的编译所有的模块
  如果把-shared去掉,就是静态的编译了…
  综上所述
  总结出了我个人对apache的动态与静态编译的理解
  好比有两个人a和m
  a代表apache,m代表module
  要想让a使用m的东西
  一个方法是把m的东西都放到a那里去,a使用的时候就是现成的了
  就是所谓的静态编译
  还有一个方法,
  就是告诉a, m的住址,当a要使用m的东西的时候,a去找m,然后使用
  不过,这种方法要注意的一个问题就是:m必须要有实际的住址,
  否则a会找不到m而产生错误的,我此文开始提到的 apachectl startssl产生
  的错误就是这个原因,应该再编译好ssl才可以的.
  这种方法也就是apache 的动态(DSO)编译了


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640742-1-1.html 上篇帖子: Apache日志:访问日志(一) 下篇帖子: Ubuntu/Debian Apache 1.3.33/1.3.34 (CGI TTY) Local Root Exploit
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表