安装apachen分为动态、静态两种方式。
动态编译,只需要在以后的使用中在配置文件中调整配置文件就可以调整加载模块;静态则相反,在编译中就决定了相应的模块。
举例说明,mod_rewrite模块为例:
错误方式:
./configure
--prefix=/usr/local/apache2
--enable-so
--enable-mods-shared=most
--enable-rewrite
--enable-speling
--enable-forward
--enable-ssl
--with-ssl=/usr/local/openssl
会导致,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
解释:
问题出在–enable-so,–enable-so表示让apache核心装载DSO,但是不实际编译任何动态模块;
–enable-ModuleName表示,编译并包含模块ModuleName;
–enable-ModuleName=shared表示,将这个模块编译成动态的。
正确方式:
搞清除上面所述的内容,就ok了:
应该去掉–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编译安装的方式的区别。静态编译,就是将module直接在安装的过程中防盗apache中,当apache使用module的时候,就可以直接使用了。而,动态编译安装,只是将module引入到apache之中,在使用的时候才会真正的去寻找。但是在动态中必须有正确额地址,否则就会出现上文提到的错误。
写完这片文章的时候,还没有apache整合php,在整合的过程中,发现了新的问题。
我使用了动态编译,加载所有的module。并且,使用了--enable-so。
./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so |
解释
--prefix=/usr/local/apache apache的安装目录
--enable-mods-shared=all 动态加载所有的模块
--enable-so 核心装载dso
|
但是,在实际配置的httpd.conf中,发现,按照以前在本地测试环境中配置的加载模块语句:
LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c |
这样的形式会报错误。
但是,修改之后:
LoadModule rewrite_module modules/mod_rewrite.so |
就没有错误了。
分析一下,这里肯定是静态加载,也就是只有地址,在用的时候再获取。那么就不能加上AddModule。为什么呢?
那换个说法,只要静态编译所有的模块就可以使用上面的方式么?没有测试所以不能妄言。如果我的假设是正确的,那么针对动态编译和动态编译,rewrite模块的配置是不同的么?
那么上面文章中提到的就是错误的了。
还是有很多疑问,继续考虑吧。
分享到:
相关推荐
Wunderwelten电台 观看广播的网站 Lokalen Apachen Starten der auf src / main / www已送达: cd src/main/docker docker-compose build docker-compose up -d 浏览:
毕设和企业适用springboot企业健康管理平台类及活动管理平台源码+论文+视频.zip
本项目为基于layui框架开发的省市复选框组件设计源码,集成了115个文件,涵盖75个GIF动画、23个JavaScript脚本、6个CSS样式表、2个PNG图片、1个许可证文件、1个Markdown文档以及多种字体文件。该组件旨在提供一套便捷的省市多选解决方案,适用于各类需要地区选择的场景。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot社区服务类及互联网金融平台源码+论文+视频
毕设和企业适用springboot企业协作平台类及网络营销平台源码+论文+视频
毕设和企业适用springboot商城类及风险控制平台源码+论文+视频
立方体、球体、金字塔检测26-YOLO(v5至v11)、CreateML、Paligemma、TFRecord、VOC数据集合集.rarRobodog-V4 2023-06-21 11:41 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括255张图像。 立方体以创建格式注释。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 应用以下扩展来创建每个源图像的3个版本: * 0到4.75像素之间的随机高斯模糊 *将盐和胡椒噪声应用于5%的像素
毕设和企业适用springboot社交互动平台类及数据智能化平台源码+论文+视频
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot人工智能类及企业数字资产管理平台源码+论文+视频
毕设和企业适用springboot社交互动平台类及跨境电商管理平台源码+论文+视频
毕设和企业适用springboot实验室类及文化旅游信息平台源码+论文+视频.zip
毕设和企业适用springboot汽车管理类及消费品管理平台源码+论文+视频
毕设和企业适用springboot实验室类及音频处理平台源码+论文+视频.zip
毕设和企业适用springboot企业数据管理平台类及直播流媒体平台源码+论文+视频
毕设和企业适用springboot企业云存储平台类及无人驾驶系统源码+论文+视频
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot企业知识管理平台类及供应链优化系统源码+论文+视频