我有一个关于dynamic加载模块的问题。 假设我有2个虚拟主机,并且在其中的一个中使用了<LoadModule> 。 该模块不会被加载到第二个虚拟主机上吗?
我想了解DSO(dynamic共享对象)优势在哪里生效。 如果模块被加载到主服务器级别的作用域中,似乎没有理由不使用静态绑定。 我对吗?
您正在将模块加载到Apache进程中,而不是加载到特定的虚拟主机中。 “LoadModule”指令只能在“服务器configuration”(思考“全局”)上下文中使用,并影响第一个Apache进程产生的每个进程。
使用DSO的主要优点是(a)您可以添加额外的模块,而无需重新编译Apache,(b)您只能加载实际使用的模块,这可能会略微减lessApache的内存占用空间。 经销商喜欢DSO,因为他们可以以模块化的方式提供所有function。 如果你正在构build你自己的Apache,并且你有一套稳定的需求,那么没有理由不去静态地构build一切。 你甚至可能会稍微加快启动速度,因为没有dynamic绑定,但这通常是不相关的(因为Apache往往是一个长期的过程,启动时间不是非常重要的)。