今天來談?wù)劸W(wǎng)站提速的常識(shí)問題,讓你的網(wǎng)站也提速:
首先是通過設(shè)置IIS來提速,那么如何啟用IIS的Gzip壓縮功能
首先,如果你需要壓縮靜態(tài)文件(HTML),需要在硬盤上建一個(gè)目錄,并給它“IUSR_機(jī)器名”這個(gè)用戶的寫權(quán)限。如果壓縮動(dòng)態(tài)文件(PHP,asp,aspx)就不需要了,因?yàn)樗捻撁媸敲看味紕?dòng)態(tài)生成的,壓縮完就放棄。
然后在IIS管理器中,“網(wǎng)站”上面右鍵-屬性,不是下面的某個(gè)站點(diǎn),而是整個(gè)網(wǎng)站。進(jìn)入“服務(wù)”標(biāo)簽,選上啟用動(dòng)態(tài)內(nèi)容壓縮,靜態(tài)內(nèi)容壓縮。然后選中網(wǎng)站下面那個(gè)服務(wù)器擴(kuò)展,新建一個(gè)服務(wù)器擴(kuò)展。名字無所謂,下面的添加文件的路徑是: c:\windows\system32\inetsrv\gzip.dll,然后啟用這個(gè)擴(kuò)展。
這時(shí)候靜態(tài)內(nèi)容是可以壓縮的,但是對于動(dòng)態(tài)內(nèi)容,aspx文件卻不在壓縮范圍內(nèi)。因?yàn)槟J(rèn)的可壓縮文件并沒有這個(gè)擴(kuò)展名。而管理界面中你又找不到可以增加擴(kuò)展名的地方,這時(shí)候只能去修改它的配置文件了。在c:\windows\system32\inetsrv\下面有個(gè)MetaBase.xml文件,可以用記事本打開,找到IIsCompressionScheme,有三個(gè)相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數(shù),在這兩段的參數(shù)HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動(dòng)態(tài)程序要壓縮,也加在這里。HcDynamicCompressionLevel改成9,(0-10,9是性價(jià)比最高的一個(gè))。
最后需要注意的是,不要忘了重啟一下IIS服務(wù)。
PHP環(huán)境下 nginx 配置 gzip壓縮
默認(rèn)情況下,Nginx的gzip壓縮是關(guān)閉的,也只對只對text/html進(jìn)行壓縮,需要在編輯nginx.conf文件,在http段加入一下配置,常用配置片段如下:
gzip on;
gzip_comp_level 6; # 壓縮比例,比例越大,壓縮時(shí)間越長。默認(rèn)是1
gzip_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml; # 哪些文件可以被壓縮
gzip_disable "MSIE [1-6]\."; # IE6無效
啟用apache2的gzip功能
apache2官方在開發(fā)的時(shí)候,就已經(jīng)把網(wǎng)頁壓縮考慮進(jìn)去,內(nèi)建了mod_deflate模塊,所以apache2就不需要使用到mod_gzip了,這兩者的工作原理是類似的, 還有啟用mod_deflate這個(gè)網(wǎng)頁壓縮的模塊,功能和效率和mod_gzip是差不多的,甚至還好一些,就不需要再用mod_gzip模塊了。
配置文件實(shí)例:
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css
lighttpd配置gzip
配置gzip主要是使用compress模塊
1. 激活compress模塊,將lightppd.conf文件的mod_compress的注釋去掉
2. 配置壓縮文件存放目錄compress.cache-dir,注意運(yùn)行l(wèi)ighttpd的用戶需要有這個(gè)目錄的讀寫權(quán)限,壓縮文件的類型compress.filetype
3. 將動(dòng)態(tài)生成的php也gzip,修改php.ini,加上zlib.output_compression = On和zlib.output_handler = On
4. 重啟lighttpd
配置文件實(shí)例:
compress.cache-dir = "/home/flymouse/lighttpd/compress/"
compress.filetype = ("text/plain", "text/html", "application/x-javascript", "text/css", "application/javascript", "text/javascript")