Apache ve Nginx Performansını 10 Kat'a Kadar Hızlandırmak için Mod_Pagespeed'i Kurun


Bu, Apache optimizasyonu ve performans ayarıyla ilgili devam eden serimizdir. Burada, Apache için mod_pagespeed modülü adı verilen yeni bir Google ürününü tanıtıyoruz. Web sitesinin her zamankinden çok daha hızlı yüklenmesini sağlayan Nginx.

Bu modülü Canlı (linux-console.net) sunucumuzda bizzat test ettim ve sonuçlar muhteşem, artık site eskisinden çok daha hızlı yükleniyor. Hepinize yüklemenizi ve sonuçları görmenizi tavsiye ederim.

Kaçırmayın: Apache Web Sunucunuzun Performansını Artıracak 5 İpucu

Bu makalede, Apache ve Nginx web için Google'ın mod_pagespeed modülünü nasıl yükleyeceğinizi ve yapılandıracağınızı göstereceğiz. RHEL/CentOS/ sunucular Fedora ve Debian/Ubuntu sistemleri resmi ikili paketleri kullanıyor; sistem düzenli güncellemeleri otomatik olarak alacak ve güncel kalacaktır.

Mod_PageSpeed Nedir?

mod_pagespeed, daha iyi performansı artırmak için Web Sayfalarını otomatik olarak optimize eden, Apache ve Nginx web sunucusuna yönelik açık kaynaklı bir modüldür. HTTP Sunucusu'nu kullanarak web sayfaları sunma.

HTML, CSS, JavaScript, JPEG, PNG< gibi dosyaları otomatik olarak optimize eden çeşitli filtrelere sahiptir. ve diğer kaynaklar.

mod_pagespeed, PageSpeed Optimizasyon Kitaplıkları üzerinde geliştirilmiştir, 100.000'den fazla web sitesine dağıtılmıştır ve GoDaddy, EdgeCast, DreamHost gibi en popüler CDN ve Barındırma sağlayıcıları ve bunlardan birkaçı tarafından sağlanmaktadır.

Aşağıdakileri içeren 40'tan fazla optimizasyon filtresi sunar:

  1. Görüntü optimizasyonu, sıkıştırma ve yeniden boyutlandırma
  2. CSS ve JavaScript birleştirme, küçültme ve satır içi oluşturma
  3. Önbellek uzantısı, alan adı parçalama ve yeniden yazma
  4. JS ve görüntü kaynaklarının ertelenmiş yüklenmesi
  5. Ve bircok digerleri…

Şu anda mod_pagespeed modülünün desteklediği Linux platformları RHEL/CentOS/'dir. Fedora ve Debian/Ubuntu< 32 bit ve 64 bit dağıtımlar için.

Linux'ta Mod_Pagespeed Modülünün Kurulumu

Yukarıda bahsettiğim gibi, gelecekteki güncellemeler için onu yüklemek üzere Google'ın resmi ikili paketlerini kullanıyoruz; o halde, devam edip işletim sistemi mimarinize göre bunu sistemlerinize yükleyelim.

RHEL/CentOS ve Fedora'da

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_i386.rpm

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm

Debian ve Ubuntu'da

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
sudo dpkg -i mod-pagespeed-stable_current_i386.deb
sudo apt-get -f install

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-stable_current_amd64.deb
sudo apt-get -f install

Mod_pagespeed'i ikili paketlerden yüklemek, sisteminize Google'ın resmi deposunu ekleyecektir, böylece yum veya apt adlı paket yöneticisini kullanarak mod_pagespeed'i otomatik olarak güncelleyebilirsiniz.

Hangi Mode_Pagespeed Yüklü?

Sistemde hangi paketlerin mod_pagespeed yüklü olduğunu görelim:

  1. Apache 2.2 için mod_pagespeed.so ve Apache 2.4 için mod_pagespeed_ap24.so olmak üzere iki modül yükleyecektir.
  2. İki ana yapılandırma dosyası yükleyecektir: pagespeed.conf ve pagespeed_libraries.conf (Debian pagespeed.load için). Bu yapılandırma dosyalarından birini değiştirirseniz, artık gelecekteki güncellemeleri otomatik olarak almayacaksınız.
  3. JS'yi küçültmek ve kitaplık kanonikleştirmesi için meta veriler oluşturmak için kullanılan bağımsız bir JavaScript küçültücü pagespeed_js_minify.

Mod_Pagespeed Yapılandırması ve Dizinler Hakkında

Modül, kurulum sırasında konfigürasyon dosyalarının ve dizinlerinin otomatik olarak takip edilmesini sağlar.

  1. /etc/cron.daily/mod-pagespeed : En son güncellemeleri kontrol etmek ve yüklemek için mod_pagespeed cron betiği.
  2. /etc/httpd/conf.d/pagespeed.conf : RPM tabanlı dağıtımlarda Apache'nin ana yapılandırma dosyası.
  3. /etc/apache2/mods-enabled/pagespeed.conf : DEB tabanlı dağıtımlarda Apache2'nin ana yapılandırma dosyası.
  4. pagespeed_libraries.conf : Apache için varsayılan kitaplık kümesi, Apache başlangıcında yüklenir.
  5. /usr/lib{lib64}/httpd/modules/mod_pagespeed.so : Apache için mod_pagespeed modülü.
  6. /var/cache/mod_pagespeed : Web siteleri için dosya önbelleğe alma dizini.

Önemli: Nginx'te mod_pagespeed'in yapılandırma dosyaları genellikle /usr/local/nginx/conf/ dizini altında bulunur.

Mod_Pagespeed Modülünü Yapılandırma

Apache'de mod_pagespeed yüklendiğinde otomatik olarak Açılır, Nginx'te ise nginx.conf dosyanıza ve PageSpeed'in etkinleştirildiği her sunucu bloğuna aşağıdaki satırları yerleştirmeniz gerekir:

pagespeed on;

Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

Ensure requests for pagespeed optimized resources go to the pagespeed handler
and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

Son olarak mod_pagespeed'in düzgün çalışmaya başlaması için Apache veya Nginx sunucunuzu yeniden başlatmayı unutmayın.

Adım 4: Mod_Pagespeed Modülünün Doğrulanması

mod_pagespeed modülünü doğrulamak için, gösterildiği gibi alan adı veya IP üzerinde test yapmak üzere curl komutunu kullanacağız:

curl -D- http://192.168.0.15/ | less
Apaçi
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
...
X-Mod-Pagespeed: 1.9.32.13-0
---
Nginx
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: nginx/1.4.0
...
X-Page-Speed: 1.5.27.1-2845
...

X-Mod-Pagespeed başlığını görmüyorsanız bu, mod_pagespeed'in aslında yüklü olmadığı anlamına gelir.

Adım 5: Modülü Açma ve Kapatma

mod_pagespeed'i tamamen kullanmak istemiyorsanız üstteki pagespeed.conf dosyasına aşağıdaki satırı ekleyerek Kapatabilirsiniz.

ModPagespeed off

Benzer şekilde, modülüne, üstteki pagespeed.conf dosyasına aşağıdaki satırı ekleyin.

ModPagespeed on

Yukarıda söylediğim gibi, mod_pagespeed'i yükledikten sonra web sitemiz %40-%50 daha hızlı yükleniyor. Sistemlerinize yükledikten sonra web sitenizin hızını yorumlar aracılığıyla gerçekten öğrenmek isteriz.

Yapılandırma hakkında daha fazla ayrıntı için https://developers.google.com/speed/pagespeed/module/ adresindeki resmi mod_pagespeed sayfasına göz atabilirsiniz.