静态编译:
在编译时,已经把相关模块编译进httpd二进制文件中不用再 httpd.conf 中在 LoadModule 来加载,只要在 <ifmodule></ifmodule> 中来配置就可以了。
动态编译:
编译的时候,使用 enable-module=shared 或者 enable-modules-shared=module 来动态编译。 动态显然就不编译到httpd里面去了,启动的时候根本不会加载这个模块, 而是给你一个 module.so 文件。你想用,就在httpd.conf中使用 loadmodule 这个语法来加载,这个模块才有效。
感觉静态编译就像下馆子,东西都是准备好的,随时可以吃。动态编译就像在家吃饭,东西要买回来才能用。一般情况下,下馆子是谢绝外带,但是只要我们提前打招呼(在编译时吧so模块编译进apache核心)就可以了。
区别:静态效率更高,动态更加灵活。
时间: 2024-10-13 22:48:41