您的位置:首页 > 运维架构 > Apache

APACHE动态和静态编译区别

2012-02-13 22:05 302 查看
APACHE动态和静态编译区别

一、含义:

动态意味着不用此模块的时候就不需要Load进来,使用的时候需要显示的Load进来;

静态意味着先把模块Load进来,想用的时候直接使用.

二、编译:

1、静态编译:

当只需要静态编译module的时候,语法应写成–enable-ssl或–enable-ssl=static。

例如:

#./configure --prefix=/usr/local/apache2 --enable-ssl[=static]查看哪些modules被静态编译进apache里:

#/usr/local/apache2/bin/httpd -lCompiled in modules: core.c mod_ssl.c2、动态编译:

当只需要动态编译module的时候,语法写成–enable-ssl=shared即可。

#./configure --prefix=/usr/local/apache2 --enable-ssl=shared查看哪些modules被动态编译进apache里:

#ls -l /usr/local/apache2/modules/-rw-r--r-- 1 root root 8504 Aug 25 14:49 httpd.exp-rwxr-xr-x 1 root root 806898 Aug 7 13:57 mod_ssl.so3、静动混合:

当既需要动态又需要动态的时候,语法写成–enable-ssl=static[动态编译] –enable-rewrite=shared[静态编译]

以下为示例:

#./configure --prefix=/usr/local/apache2 --enable-ssl=static --enable-rewite=shared

三、使用:

1、动态编译使用:

会生成相关的so文件,例如:

1)、动态加载module,在配置文件里需要加上如下语句:

LoadModule access_module /usr/local/apache2/modules/mod_ssl.so2)、使用:

rewriteEngine onRewriteRule ^/(.*) http://www.hao123.com [L,P]2、静态编译使用:

例如要使用rewrite模块的时候在配置文件里加下这句就可以了:

RewriteEngine onRewriteRule ^/(.*) http://www.hao123.com [L,P]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: