前言
gzip(gnu-zip)是一種壓縮技術。經過gzip壓縮後頁面大小可以變成原來的30%甚至更小,這樣,使用者瀏覽頁面的時候速度會塊得多。 gzip的壓縮頁面需要瀏覽器和伺服器雙方都支持,實際上就是伺服器端壓縮,傳到瀏覽器後瀏覽器解壓縮並解析。瀏覽器那裡不需要我們擔心,因為目前的巨大多數瀏覽器都支援解析gzip過的頁面。
無論是前端或後端,在部署專案時,時常免不了用到nginx,小專案也常做個反向代理啥的。今天就簡單直接,聊聊其中的一個點-gzip。如有錯誤,歡迎指正。
一般伺服器端常用的是 ubuntu、centos、linux 等。自己若沒有伺服器,可在本地把玩一下。
mac 安裝
mac下可直接用brew安裝,若未安裝brew可先行安裝
/usr/bin/ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)" brew install nginx
預設配置
安裝完成後會看到命令列含有以下訊息,可以看到nginx.conf所在路徑,這正是我們要找的設定檔。同時含有連接埠信息,當啟動nginx時,可以直接訪問http://localhost:8080,當看到下圖所示頁面,即安裝啟動成功。
docroot: /usr/local/var/www default config: /usr/local/etc/nginx/nginx.conf port:8080
幾個常用指令
啟動:nginx
重新熱啟動:nginx -s reload
關閉:nginx -s stop
測試語法:nginx -t
#gizp設定:
gzip 相關設定可放在 http{}
或 server{}
或 location{}
等級,若不同層級有重複設定優先權為 location{} > server{} > http{}
1、開啟gzip壓縮
gzip on;
2、gzip http 版本
gzip_http_version 1.0;
3、禁止ie6進行gzip壓縮(當然現在基本上已經沒有人使用ie6了)
gzip_disable "msie [1-6]";
4、壓縮等級(1~9,一般為平衡檔案大小和cpu使用,5是常用值,當然跟實際機器的情況有關)
gzip_comp_level 5;
5、最小壓縮臨界值(預設的是20位元組)
##
gzip_min_length 20;
gzip_proxied any;
gzip_http_version 1.0;
gzip_vary on;
gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/javascript text/x-component;
location{}或
server{}層級單獨處理。
gzip_static on;
gzip_buffers 16 8k;
以上是Nginx基礎入門之gzip設定的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!