apache问答
时间:2006-11-24 来源:yuxiaqiao
[email protected] 说:
原来修改apche 内置的模块,都需要重新编译
[email protected] 说:
只有第三方模块,才可以用DSO近来
沈崴 说:
不是, 任何模块都可以 DSO
沈崴 说:
我用的方法是借鸡下蛋。
[email protected] 说:
哪rewrite 模块不是要重新编译apache
沈崴 说:
需要的是 so
[email protected] 说:
而像php,gzip之类的只要 --with-apxs2=/path/to/apache
[email protected] 说:
so apache2.0默认是编译进来的
[email protected] 说:
我这个也是有的
沈崴 说:
那个太初级了吧。用我的通吃法就可以了。
[email protected] 说:
core mod_authn_file mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default mod_auth_basic mod_include mod_filter mod_log_config mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_asis mod_cgi mod_negotiation mod_dir mod_actions mod_userdir mod_alias mod_so mod_php5
[email protected] 说:
这个是我现在有的
沈崴 说:
--enable-xxx=shared 就是 so 模式,如果换成 static 就被直接编译进 Apache 了
[email protected] 说:
什么意思
[email protected] 说:
什么东西直接编译进去了
沈崴 说:
你知道程序库的静态编译和动态编译吗?
[email protected] 说:
不是很理解
[email protected] 说:
大概意思
沈崴 说:
看 Google 了啦
[email protected] 说:
先编译后执行
[email protected] 说:
叫静态变异吧
[email protected] 说:
便编译便执行叫动态变异吧
[email protected] 说:
我的理解
沈崴 说:
你去看看 Windows 下面 xxx.lib 和 xxx.dll 的区别。
沈崴 说:
你去看看 Unix 下面 xxx.a 和 xxx.so 的区别。
[email protected] 说:
你给点破一下
沈崴 说:
Static : Apache = Apache + mod_rewrite
Dynamic: Apache = Apache, 运行的时候 Apache 调用 mod_rewrite.so
[email protected] 说:
好
[email protected] 说:
哪这个跟 Windows 下面 xxx.lib 和 xxx.dll 的区别怎么联系在一起阿
[email protected] 说:
不懂
沈崴 说:
Windows 的 xxx.dll 就是 Unix 的 xxx.so 啊
[email protected] 说:
这个我知道的
沈崴 说:
编译的时候, xxx.lib xxx.a 就会被编译到程序里面去,而不是被程序动态调用
沈崴 说:
所以静态编译的程序不需要 xxx.so xxx.dll, 因为他已经包含了这些东西
[email protected] 说:
哦,原来这样,就是说so,dll就是一些直接可以使用的组件
[email protected] 说:
不需要重新编译了
沈崴 说:
是啊
沈崴 说:
你个鸟人, 大学里面没学吗?
[email protected] 说:
那为什么static比dynamic效率要高呢
沈崴 说:
不会吧。
沈崴 说:
应该是差不多的。
[email protected] 说:
apache 官方网站不是这么说的马
[email protected] 说:
说dso只是更好管理一点,速度还是static快
沈崴 说:
动态库 (Unix 下叫做共享库), 不管多少程序来调用, 他在内存里面都只有一份。节约内存, 也可以加快速度。
但是动态库使用相对寻址, 静态库和程序共享一个程序空间。这里面就会略耗时一点, 但是忽略不记。
[email protected] 说:
完全明白了,哈哈
[email protected] 说:
好吃饭了,我去吃饭了,88
原来修改apche 内置的模块,都需要重新编译
[email protected] 说:
只有第三方模块,才可以用DSO近来
沈崴 说:
不是, 任何模块都可以 DSO
沈崴 说:
我用的方法是借鸡下蛋。
[email protected] 说:
哪rewrite 模块不是要重新编译apache
沈崴 说:
需要的是 so
[email protected] 说:
而像php,gzip之类的只要 --with-apxs2=/path/to/apache
[email protected] 说:
so apache2.0默认是编译进来的
[email protected] 说:
我这个也是有的
沈崴 说:
那个太初级了吧。用我的通吃法就可以了。
[email protected] 说:
core mod_authn_file mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default mod_auth_basic mod_include mod_filter mod_log_config mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_asis mod_cgi mod_negotiation mod_dir mod_actions mod_userdir mod_alias mod_so mod_php5
[email protected] 说:
这个是我现在有的
沈崴 说:
--enable-xxx=shared 就是 so 模式,如果换成 static 就被直接编译进 Apache 了
[email protected] 说:
什么意思
[email protected] 说:
什么东西直接编译进去了
沈崴 说:
你知道程序库的静态编译和动态编译吗?
[email protected] 说:
不是很理解
[email protected] 说:
大概意思
沈崴 说:
看 Google 了啦
[email protected] 说:
先编译后执行
[email protected] 说:
叫静态变异吧
[email protected] 说:
便编译便执行叫动态变异吧
[email protected] 说:
我的理解
沈崴 说:
你去看看 Windows 下面 xxx.lib 和 xxx.dll 的区别。
沈崴 说:
你去看看 Unix 下面 xxx.a 和 xxx.so 的区别。
[email protected] 说:
你给点破一下
沈崴 说:
Static : Apache = Apache + mod_rewrite
Dynamic: Apache = Apache, 运行的时候 Apache 调用 mod_rewrite.so
[email protected] 说:
好
[email protected] 说:
哪这个跟 Windows 下面 xxx.lib 和 xxx.dll 的区别怎么联系在一起阿
[email protected] 说:
不懂
沈崴 说:
Windows 的 xxx.dll 就是 Unix 的 xxx.so 啊
[email protected] 说:
这个我知道的
沈崴 说:
编译的时候, xxx.lib xxx.a 就会被编译到程序里面去,而不是被程序动态调用
沈崴 说:
所以静态编译的程序不需要 xxx.so xxx.dll, 因为他已经包含了这些东西
[email protected] 说:
哦,原来这样,就是说so,dll就是一些直接可以使用的组件
[email protected] 说:
不需要重新编译了
沈崴 说:
是啊
沈崴 说:
你个鸟人, 大学里面没学吗?
[email protected] 说:
那为什么static比dynamic效率要高呢
沈崴 说:
不会吧。
沈崴 说:
应该是差不多的。
[email protected] 说:
apache 官方网站不是这么说的马
[email protected] 说:
说dso只是更好管理一点,速度还是static快
沈崴 说:
动态库 (Unix 下叫做共享库), 不管多少程序来调用, 他在内存里面都只有一份。节约内存, 也可以加快速度。
但是动态库使用相对寻址, 静态库和程序共享一个程序空间。这里面就会略耗时一点, 但是忽略不记。
[email protected] 说:
完全明白了,哈哈
[email protected] 说:
好吃饭了,我去吃饭了,88
相关阅读 更多 +