2014-02-17 14:59:01
来 源
itjs.cn
Linux
本文介绍Apache服务器编译安装参数,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

./configure

--prefix=/Data/apps/apache  

--enable-expires

--enable-proxy

--enable-deflate

--enable-rewrite

--enable-headers

&& make && make install

尝试这样的代码的过程可以小说明一下,文章后有相应的配置参考

1 默认安装,仅指定prefix

然后查看一下已经加载的模块

/Data/apps/apache/bin/apachectl -t -D DUMP_MODULES

2 其实安装一般都是对模块的选择会有所需求,上面的命令可以知道已经安装了默认的模块,还需要哪些模块呢?也许得先摘抄一下apache手册的说明:

模块选项

有两种使用模块的方法:一是静态连接进核心,二是作为DSO模块动态加载;如果编译中包含任何DSO模块,则mod_so会被自动包含进核心。如果希望核心能够装载DSO,但不实际编译任何DSO模块,则需明确指定"--enable-so=static"。

一般语法

一般情况下你可以使用如下语法启用或者禁用某个模块:

--disable-MODULE

禁用MODULE模块(仅用于基本模块)

--enable-MODULE=shared

将MODULE编译为DSO(可用于所有模块)

--enable-MODULE=static

将MODULE静态连接进核心(仅用于扩展和实验模块)

--enable-mods-shared=MODULE-LIST

将MODULE-LIST中的所有模块都编译成DSO(可用于所有模块)

--enable-modules=MODULE-LIST

将MODULE-LIST静态连接进核心(可用于所有模块)

上述 MODULE-LIST 可以是:

(1)用引号界定并且用空格分隔的模块名列表

--enable-mods-shared='headers rewrite dav'

(2)"most"(大多数模块)   (3)"all"(所有模块)

--enable-mods-shared=most

模块列表

基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用。

(省略模块列表)

默认不选择模块,那就会安装好基本的模块,一般都需要的,如果是选择most,则包含基本模块和扩展模块,如果选择all,则真的是全部 ^_^

选择DSO方式到时候会有一堆的loadmodule,自己不需要的就可以注释掉

那其实我们一般都是选择安装哪些扩展模块就好了,哪些有用呢?

--enable-expires

(可以添加文件过期的限制,有效减轻服务器压力,缓存在用户端,有效期内不会再次访问服务器,除非按f5刷新,但也导致文件更新不及时)

--enable-proxy

(代理功能有必要,因为可以处理跨域问题以及可以分离一些其它的请求处理)

--enable-deflate

(压缩功能,网页可以达到40%的压缩,节省带宽成本,但会对cpu压力有一点提高)

--enable-rewrite

(可以做重新,比较实用,文件有变化时很好)

--enable-headers

(文件头信息改写,压缩功能需要)

其它的扩展功能就可以参考手册了,这里不一一描述,仅描述阿权觉得比较实用的几个扩展模块,下面是摘录的配置方法(仅供参考):

## www.aslibra.com

## code by hqlulu

############# gzip ############

<Location />

SetOutputFilter DEFLATE

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|swf|exe|ico)$ no-gzip dont-vary

Header append Vary User-Agent env=!dont-vary

</Location>

############# expire ############

<IfModule expires_module>

ExpiresActive On

ExpiresDefault "access plus 1 day"

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType text/html "access plus 12 hours"

ExpiresByType text/css "access plus 12 hours"

ExpiresByType text/javascript "access plus 12 hours"

</IfModule>

############ proxy

#ProxyPass            /aslibra http://aslibra.com/blog

#ProxyPassReverse     /aslibra http://aslibra.com/blog

############ rewrite

RewriteEngine On

RewriteRule ^/blog/test[0-9]{1,}.htm$ /blog/index.php

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。