apache2常用編譯參數解釋
來源:互聯網
上載者:User
./configure /
--prefix=/opt/apache2 /
--enable-so/
--enable-expires /
--enable-proxy /
--enable-deflate /
--enable-rewrite /
--enable-headers /
&& make && make install
1 預設安裝,僅指定prefix (指定安裝路徑)
然後查看一下已經載入的模組
/opt/apache2/bin/apachectl -t
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
預設不選擇模組,那就會安裝好基本的模組,一般都需要的,如果是選擇most,則包含基本模組和擴充模組,如果選擇all,則真的是全部 ^_^
選擇DSO方式到時候會有一堆的loadmodule,自己不需要的就可以注釋掉
那其實我們一般都是選擇安裝哪些擴充模組就好了,哪些有用呢。
--enable-expires /
(可以添加檔案到期的限制,有效減輕伺服器壓力,緩衝在使用者端,有效期間內不會再次訪問伺服器,除非按f5重新整理,但也導致檔案更新不及時)
--enable-proxy /
(代理功能有必要,因為可以處理跨域問題以及可以分離一些其它的請求處理)
--enable-deflate /
(壓縮功能,網頁可以達到40%的壓縮,節省頻寬成本,但會對cpu壓力有一點提高)
--enable-rewrite /
(可以做重新,比較實用,檔案有變化時很好)
--enable-headers /
(檔案頭資訊改寫,壓縮功能需要)
其它的擴充功能就可以參考手冊了,這裡不一一描述,僅描述阿權覺得比較實用的幾個擴充模組,下面是摘錄的配置方法(僅供參考):
############# 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