成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何借助PageSpeed,為Nginx網站服務器提速?

譯文
運維 系統運維 新聞
本文中將介紹如何優化Nginx網站服務器,以提升其性能。雖然Nginx網站服務器本身已儼然成為運行速度最快、可擴展性最佳的網站服務器之一,但是仍有眾多方法可以調整優化其常規安裝系統的性能。

【2014年2月11日 51CTO外電頭條】網站加載速度越快,訪客互動性、留住率和轉換率就越高,這早已不是什么秘密。網站每延遲100毫秒,亞馬遜的銷售額就會減少1%;延遲增加500毫秒,這意味著谷歌的流量和收入就會減少20%。要是有一個辦法可以為你的網站服務器提速,又不必升級到功能更強大的服務器,就沒有理由不試一試這個辦法。

我在本教程中將介紹如何優化Nginx網站服務器,以提升其性能。雖然Nginx網站服務器本身已儼然成為運行速度最快、可擴展性***的網站服務器之一,但是仍有眾多方法可以調整優化其常規安裝系統的性能。

舉例說,有一個由谷歌開發的網站服務器模塊,名為PageSpeed模塊(https://developers.google.com/speed/pagespeed/module)。PageSpeed旨在縮短網頁加載的時間,減少網站服務器的帶寬使用量。最近,已發布了Nginx版本的PageSpeed模塊(ngx_pagespeed)。作為一種有望為Nginx網站服務器提速的可行方法,我將演示如何在Nginx中啟用并配置ngx_pagespeed模塊。

PageSpeed的功能特性

PageSpeed模塊可以使用數量眾多的重寫"過濾器",每個過濾器都可以選擇性地開啟/關閉,從而自動進行各種優化(比如,減小文檔大小、減少HTTP請求數據、減少HTTP往返次數以及縮短DNS解析時間)。

下面是ngx_pagespeed支持的其中一些過濾器。想了解支持的全部過濾器,請參閱官方文檔

  • Collapse Whitespace(壓縮空白):通過把HTML網頁中的多處連續空白換成一處空白,減少帶寬使用量。
  • Canonicalize JavaScript Libraries(規范化轉換JavaScript庫):通過自動把流行的JavaScript庫換成免費托管的JavaScript庫(比如由谷歌托管),減少帶寬使用量。
  • Combine CSS(合并CSS):通過把多個CSS文件合并成一個CSS文件,減少HTTP請求數量。
  • Combine JavaScript(合并JavaScript):通過把多個JavaScript文件合并成一個JavaScript文件,減少HTTP請求數量。
  • Elide Attributes(省略屬性):通過刪除由默認屬性指定的標簽,縮小文檔大小。
  • Extend Cache(擴展緩存):通過優化網頁資源的可緩存性,減少帶寬使用量。
  • Flatten CSS Imports(精簡CSS導入):通過刪除CSS文件中的@import,減少HTTP請求往返次數。
  • Lazyload Images(延時加載圖片):延時加載在客戶端瀏覽器上看不見的圖片。
  • Minify JavaScript(縮小JavaScript):通過縮小JavaScript,減少帶寬使用量。
  • Optimize Images(優化圖片):通過引入更多的內嵌圖片、壓縮圖片,或者將GIF圖片轉換成PNG圖片,優化圖片分發。
  • Pre-Resolve DNS(預解析DNS):通過預解析DNS,縮短DNS解析時間。
  • Prioritize Critical CSS(優化加載關鍵CSS規則):重寫CSS文件,以便首先加載渲染頁面的CSS規則。

與Apache網站服務器不一樣,Nginx模塊無法在運行時動態加載,而是必須在編譯時加載。截至本文截稿時,ngx_pagespeed模塊并未內置在隨主要Linux發行版(比如Fedora 19)發布的Nginx程序包中。因而,想使用Nginx中的PageSpeed,你需要利用源代碼來構建Nginx。

借助ngx_pagespeed,構建和安裝Nginx

安裝用于構建nginx和ngx_pagespeed的必備要素。

在Debian、Ubuntu或Linux Mint上:

 

  1. $ sudo apt-get install build-essential zlib1g-dev libpcre3-dev 

在Fedora、CentOS或RHEL上:

 

  1. $ sudo yum install gcc-c++ pcre-devel zlib-devel make wget 

下載并安裝ngx_pagespeed源代碼,如下所示。ngx_pagespeed會被解壓縮到/usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta

  1. $ sudo mkdir -p /usr/local/nginx/modules 
  2. $ wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.7.30.3-beta.tar.gz 
  3. $ sudo tar xvfvz v1.7.30.3-beta.tar.gz -C /usr/local/nginx/modules --no-same-owner 

下載預構建的PSOL(PageSpeed優化庫,https://developers.google.com/speed/pagespeed/psol),并將它安裝到ngx_pagespeed目錄下:

  1. $ wget https://dl.google.com/dl/page-speed/psol/1.7.30.3.tar.gz 
  2. $ sudo tar xvfvz 1.7.30.3.tar.gz -C /usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta --no-same-owner 
  3. $ sudo find /usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta/ -type d -exec chmod +rx {} \; 
  4. $ sudo find /usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta/ -type f -exec chmod +r {} \; 

從http://nginx.org/en/download.html,下載Nginx的***穩定版。

  1. $ wget http://nginx.org/download/nginx-1.4.4.tar.gz 

***,在ngx_pagespeed模塊啟用的情況下,編譯Nginx,并安裝它,如下所示。

  1. $ tar xvfvz nginx-1.4.4.tar.gz 
  2. $ cd nginx-1.4.4 
  3. $ ./configure --add-module=/usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx 
  4. $ make 
  5. $ sudo make install 

你應該確認,ngx_pagespeed模塊已添加到安裝的Nginx系統上,如下所示。

  1. $ /usr/local/nginx/sbin/nginx -V 
  2. nginx version: nginx/1.4.4 
  3. built by gcc 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
  4. configure arguments: --add-module=/usr/local/nginx/modules/ngx_pagespeed-1.7.30.3-beta . . . . 

配置Nginx中的ngx_pagespeed模塊

想啟用并配置ngx_pagespeed,就要編輯Nginx配置的server部分。nginx.conf的下面這個示例表明了如何指定一個或多個PageSpeed過濾器。

  1. $ sudo vi /etc/nginx/nginx.conf 
  2. server { 
  3. # 偵聽的端口 
  4. listen 80; 
  5. # 服務器名稱 
  6. server_name xmodulo.com www.xmodulo.com; 
  7. # 記下根目錄 
  8. root /usr/local/nginx/html; 
  9. # 訪問日志 
  10. access_log /var/log/nginx/access.log main; 
  11. # 啟用ngx_pagespeed 
  12. pagespeed on; 
  13. # 在此放置一個或多個pagespeed過濾器。 

說到指定PageSpeed過濾器,有兩種不同的級別可供你選擇:CoreFilters和PassThrough。除非有所指定,否則默認情況下使用CoreFilters。

對新手用戶而言:使用CoreFilters

CoreFilters含有一系列PageSpeed過濾器,谷歌認為這些過濾器對大多數網站來說是安全的。如果啟用CoreFilters,你就自動啟用了一系列"安全"規則。所以,推薦新手用戶采用這種方法。如果你愿意,也可以禁用CoreFilters中的某個或某些過濾器,或者選擇性地啟用額外的過濾器。下面這個例子表明了使用CoreFilters的ngx_pagespeed配置。

  1. server { 
  2. # 偵聽的端口 
  3. listen 80; 
  4. # 服務器名稱 
  5. server_name xmodulo.com www.xmodulo.com; 
  6. # 記下根目錄 
  7. root /usr/local/nginx/html; 
  8. # 訪問日志 
  9. access_log /var/log/nginx/access.log main; 
  10. # 啟用ngx_pagespeed 
  11. pagespeed on; 
  12. pagespeed FileCachePath /var/ngx_pagespeed_cache; 
  13. # 啟用CoreFilters 
  14. pagespeed RewriteLevel CoreFilters; 
  15. # 禁用CoreFilters中的某些過濾器 
  16. pagespeed DisableFilters rewrite_images; 
  17. # 選擇性地啟用額外的過濾器 
  18. pagespeed EnableFilters collapse_whitespace; 
  19. pagespeed EnableFilters lazyload_images; 
  20. pagespeed EnableFilters insert_dns_prefetch; 

想了解CoreFilters中的全部過濾器,請參閱官方文檔

對高級用戶而言:使用PassThrough

如果是高級用戶,你可以使用PageThrough級別,你可以手動啟用個別過濾器。

  1. server { 
  2. # 偵聽的端口 
  3. listen 80; 
  4. # 服務器名稱 
  5. server_name xmodulo.com www.xmodulo.com; 
  6. # 記下根目錄 
  7. root /usr/local/nginx/html; 
  8. # 訪問日志 
  9. access_log /var/log/nginx/access.log main; 
  10. # 啟用ngx_pagespeed 
  11. pagespeed on; 
  12. pagespeed FileCachePath /var/ngx_pagespeed_cache; 
  13. # 禁用CoreFilters 
  14. pagespeed RewriteLevel PassThrough; 
  15. # 啟用壓縮空白過濾器 
  16. pagespeed EnableFilters collapse_whitespace; 
  17. # 啟用JavaScript庫卸載 
  18. pagespeed EnableFilters canonicalize_javascript_libraries; 
  19. # 把多個CSS文件合并成一個CSS文件 
  20. pagespeed EnableFilters combine_css; 
  21. # 把多個JavaScript文件合并成一個JavaScript文件 
  22. pagespeed EnableFilters combine_javascript; 
  23. # 刪除帶默認屬性的標簽 
  24. pagespeed EnableFilters elide_attributes; 
  25. # 改善資源的可緩存性 
  26. pagespeed EnableFilters extend_cache; 
  27. # 更換被導入文件的@import,精簡CSS文件 
  28. pagespeed EnableFilters flatten_css_imports; 
  29. pagespeed CssFlattenMaxBytes 5120; 
  30. # 延時加載客戶端看不見的圖片 
  31. pagespeed EnableFilters lazyload_images; 
  32. # 啟用JavaScript縮小機制 
  33. pagespeed EnableFilters rewrite_javascript; 
  34. # 啟用圖片優化機制 
  35. pagespeed EnableFilters rewrite_images; 
  36. # 預解析DNS查詢 
  37. pagespeed EnableFilters insert_dns_prefetch; 
  38. # 重寫CSS,首先加載渲染頁面的CSS規則 
  39. pagespeed EnableFilters prioritize_critical_css; 

另外的配置步驟:

創建將由Nginx寫入的一個文件緩存目錄。

  1. $ sudo mkdir /var/ngx_pagespeed_cache 
  2. $ sudo chown nginx:nginx /var/ngx_pagespeed_cache 

為了方便起見,為Nginx創建一個初始化腳本。

  1. $ wget https://github.com/MovLib/www/raw/master/bin/init-nginx.sh 
  2. $ sudo mv init-nginx.sh /etc/init.d/nginx 
  3. $ sudo chmod 0755 /etc/init.d/nginx 

***,啟動Nginx。

 

  1. $ sudo /etc/init.d/nginx start 

注意:除了ngx_pagespeed外,你可能還需要定義額外的Nginx模塊(比如HTTPS/SSL支持等),具體視需求而定。這種情況下,你需要在Nginx編譯這個環節來添加這些模塊。請參閱這篇教程(http://xmodulo.com/2014/01/compile-install-nginx-web-server.html),了解如何啟用額外的Nginx模塊。

原文鏈接:http://xmodulo.com/2014/01/speed-nginx-web-server-pagespeed.html

責任編輯:黃丹 來源: 51CTO.com
相關推薦

2019-04-08 08:39:47

Nginx代理服務器

2019-10-22 10:20:13

Nginx反向代理服務器

2015-04-07 09:04:23

Monit服務器監控系統

2015-07-29 09:40:45

Pandora FMSUbuntu服務器監控

2018-09-21 13:59:06

戴爾戴爾服務器

2014-09-22 09:52:06

2010-05-10 14:22:44

CDN負載均衡

2017-12-27 10:18:09

ApacheNginx服務器

2021-07-28 23:32:09

Nginx服務器Https

2020-04-15 20:57:57

NginxWeb服務器

2010-12-01 14:36:16

趨勢科技Web信譽查詢

2017-03-20 14:00:33

ARM服務器微軟

2013-09-16 10:23:21

2018-12-13 10:16:20

NginxWeb服務器

2018-08-21 10:35:18

NginxWeb服務器

2018-05-18 09:43:37

服務器架構大型網站

2019-08-19 08:00:00

服務器Ubuntu Live漏洞

2009-07-02 17:17:03

2021-11-24 08:00:00

服務器Web系統

2018-10-26 09:52:25

Nginx服務器負載均衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产三级国产aⅴ原创 | 日韩一级免费电影 | 在线免费视频一区 | 免费成人高清在线视频 | av一二三区 | av中文在线 | 中文字幕欧美日韩 | 国产一区二区三区 | 一区二区成人在线 | 久久久国产精品 | 91国产精品在线 | 91福利在线观看 | 国产成人福利在线观看 | 日韩中文字幕在线观看 | 免费a国产 | 欧美专区在线 | 日韩精品免费在线观看 | 国产97在线 | 日韩 | 国产一区在线免费 | 黄色大片免费观看 | 亚洲国产欧美国产综合一区 | 久久久久久精 | 1204国产成人精品视频 | 毛片链接 | 国产a级黄色录像 | 日韩精品久久一区二区三区 | 日韩视频国产 | 欧美成人精品二区三区99精品 | 日韩视频在线播放 | 日韩av看片 | 亚洲一区二区三区在线播放 | 午夜丰满少妇一级毛片 | av在线免费观看不卡 | av在线一区二区三区 | 国产人成精品一区二区三 | 精品国产91亚洲一区二区三区www | 国产在线永久免费 | 国产精品免费看 | 337p日韩 | 亚洲日日夜夜 | 日韩精彩视频 |