标题:apache编译全部模块参数,Linux中编译apache服务器modules文件夹缺少模块(.so)的问题 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Wed, 21 Sep 2016 08:33:23 +0000 作者:jackxiang 地址:http://jackxiang.com/post/8965/ 内容: 我们再来讲讲DSO动态编译的方法: 首先编译安装apache tar zvxf apache_1.3.27 cd apache_1.3.27 ./configure --prefix=/usr/local/apache --enable-module=so \ --enable-module=rewrite --enable-shared=max && make && make install so模块用来提供DSO支持的apachehe核心模块,rewrite是地址重写的模块,如果不需要可以不编译 enable-shared=max是指除了so以外的所有标准模块都编译成DSO模块。 我尝试在fedora core 3中安装apache 2. 当我解压了apache 2.0.54后使用configure工具并且加入了 --enable-so 或者 --enable-modules=so (两个我都试过了) 去make并且make install了。我希望在/apache2/modules/目录里有各种模块,但是这个文件最后只包含了一个httpd.exp文件。 为什么?哪里出错了? 谢谢 Because you're just telling apache to enable the use of shared modules. You also need to tell it to MAKE the shared modules. You can use these compile flags: --enable-mods-shared='headers rewrite dav' (where you list the mods. you want) --enable-mods-shared=most ( compiles "most" modules ) --enable-mods-shared=all ( compiles all modules ) 因为你只告诉了apache可以使用共享模块。你还需要告诉它要MAKE共享模块 你可以使用如下的这些编译标志 --enable-mods-shared='headers rewrite dav' (凡是你想编译的模块都可以写到后边的引号里面,以空格分隔) --enable-mods-shared=most (编译最多的模块) --enable-mods-shared=all (编译所有模块) 动态编译还是静态编译的效率问题:http://jackxiang.com/post/4029/ 来自:http://m.blog.csdn.net/article/details?id=6977466 Generated by Jackxiang's Bo-blog 2.1.1 Release