首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >APache中模块静态编译和动态编译过程的差异

APache中模块静态编译和动态编译过程的差异
EN

Server Fault用户
提问于 2016-07-21 09:16:37
回答 1查看 3.1K关注 0票数 0

我对apache中外部模块的静态编译和动态编译之间的差异感到困惑。有人能解释一下mod_qos的情况吗?

另外,在httpd.conf文件中加载模块的方式有什么区别呢?

代码语言:javascript
复制
    <IfModule mod_dir.c>
    DirectoryIndex index.php index.html
    </IfModule>

    <IfModule reqtimeout_module>
    DirectoryIndex index.php index.html
    </IfModule> 

如您所见,前者在指令中引用.c文件,而后者不引用?WHy是这样的,它如何改变模块的包含?

谢谢。我是apache的新手,所以请不要介意这个问题听起来很傻。

EN

回答 1

Server Fault用户

发布于 2016-07-21 10:31:07

在构建服务器时,静态模块被编译成httpd二进制文件,而动态模块则包含在运行时。在阿帕奇中,几乎所有的分布式模块都是动态添加的。这一点很重要,因为如果对模块进行了更新,则必须重新编译httpd二进制文件才能应用静态编译的更新。

命名约定只是alternative中引用模块的方法。指令,与模块的编译方式无关。

正如文档中所指出的,该模块可以由module-filemodule-identifier引用。

例如,rewrite_module是标识符,mod_rewrite.c是文件名。

注意(为了扩展重复问题的答案):要在服务器中动态加载模块foo_module,请将mod_foo.so文件放在与所有其他模块相同的目录中,并以与主要Apache.conf文件中的所有其他模块相同的格式添加LoadModule指令(正确地引用正确的路径)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/791116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档