加速nginx性能: 開啟gzip和緩存
開啟gzip
配置
# 開啟gzip gzip on; # 啟用gzip壓縮的最小文件,小于設(shè)置值的文件將不會(huì)壓縮 gzip_min_length 1k; # gzip 壓縮級(jí)別,1-10,數(shù)字越大壓縮的越好,也越占用CPU時(shí)間,后面會(huì)有詳細(xì)說(shuō)明 gzip_comp_level 2; # 進(jìn)行壓縮的文件類型。javascript有多種形式。其中的值可以在 mime.types 文件中找到。 gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 是否在http header中添加Vary: Accept-Encoding,建議開啟 gzip_vary on; # 禁用IE 6 gzip gzip_disable "MSIE [1-6]\.";
關(guān)于具體的參數(shù)說(shuō)明可以參考 nginx 的文檔。
gzip_comp_level 參數(shù)
關(guān)于 gzip_comp_level 的合理值,可以參考下圖。來(lái)自 serverfault
從圖中可以看出 gzip_comp_level
大于2時(shí)效果并不是很明顯。所以可以將值設(shè)置為1或者2。
開啟緩存
配置
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ { access_log off; expires 30d; } location ~* ^.+\.(css|js|txt|xml|swf|wav)$ { access_log off; expires 24h; } location ~* ^.+\.(html|htm)$ { expires 1h; }
其中的緩存時(shí)間可以自己根據(jù)需要修改。
關(guān)于字體
為靜態(tài)資源開啟緩存能夠較少服務(wù)器帶寬的消耗,特別是在css中使用字體時(shí),同時(shí)配合gzip壓縮能夠大大減少下載字體造成的帶寬影響。
設(shè)置字體緩存
需要注意的是,字體有很多格式,為所有字體格式設(shè)置緩存是很有必要的。
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ { access_log off; expires max; }
啟用gzip
只需要為 ttf、otf 和 svg 字體啟用 gzip,對(duì)其他字體格式進(jìn)行 gzip 壓縮時(shí)效果不明顯。
gzip_types font/ttf font/otf image/svg+xml
各種字體類型壓縮效果可以參考以下測(cè)試結(jié)果:
可以看到對(duì) woff 和 eot 進(jìn)行 gzip 壓縮效果不好。
字體總結(jié)
擴(kuò)展名 | 是否壓縮 | Content-type |
---|---|---|
.eot | 否 | application/vnd.ms-fontobject |
.ttf | 是 | font/ttf |
.otf | 是 | font/opentype |
.woff | 否 | font/x-woff |
.svg | 是 | image/svg+xml |
相關(guān)文章
Nginx的nginx.conf配置文件中文注釋說(shuō)明
這篇文章主要介紹了Nginx的nginx.conf配置文件中文注釋說(shuō)明,本文是個(gè)人注釋版,在生產(chǎn)環(huán)境中經(jīng)常使用,需要的朋友可以參考下2014-12-12nginx網(wǎng)頁(yè)緩存時(shí)間的配置過(guò)程
Nginx緩存的設(shè)置可以提高網(wǎng)站性能,對(duì)于網(wǎng)站的圖片,尤其是新聞網(wǎng)站,下面這篇文章主要給大家介紹了關(guān)于nginx網(wǎng)頁(yè)緩存時(shí)間的配置過(guò)程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01nginx-ingress-controller日志持久化方案的解決
這篇文章主要介紹了nginx-ingress-controller日志持久化方案的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Nginx服務(wù)器中處理AJAX跨域請(qǐng)求的配置方法講解
這篇文章主要介紹了Nginx服務(wù)器中處理AJAX跨域請(qǐng)求的配置方法講解,包括Nginx作Apache的反向代理時(shí)的配置方法,需要的朋友可以參考下2016-01-01Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程
我們的生產(chǎn)環(huán)境基本上都部署在云服務(wù)器上,例如應(yīng)用服務(wù)器、MySQL服務(wù)器等,如果MySQL服務(wù)器直接暴露在公網(wǎng),就會(huì)存在很大的風(fēng)險(xiǎn),為了保證數(shù)據(jù)安全,MySQL服務(wù)器的端口是不對(duì)外開放的,所以本文介紹了Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程2024-07-07詳解Nginx的核心配置模塊中對(duì)于請(qǐng)求體的接受流程
這篇文章主要介紹了詳解Nginx的核心配置模塊中對(duì)于請(qǐng)求體的接受流程,包括其丟棄請(qǐng)求的過(guò)程,需要的朋友可以參考下2015-12-12