شرح اضافة موديول pagespeed للأباتشى و nginx لزيادة سرعته وتخفيف الضغط

رووح القلوب

عضو جديد
20 مارس 2009
246
1
0
السلام عليكم ورحمة الله وبركاته​

طريقة اضافة موديل PageSpeed المقدم من شركة جوجل لتسريع الويب سيرفر سواء كان Apache او Nginx
مع الاباتشى اسمه mod_pagespeed
مع الnginx اسمه ngx_pagespeed


1- طريقة اضافته مع الاباتشى :
PHP:
yum install at  
rpm -U mod-pagespeed-*.rpm
2- طريقة الاضافة مع Nginx :
PHP:
yum install gcc-c++ pcre-dev pcre-devel zlib-devel make
تركيب الموديول فقط

PHP:
  cd ~
  wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.6.29.5-beta.zip
  unzip release-1.6.29.5-beta.zip
  cd ngx_pagespeed-release-1.6.29.5-beta/
  wget https://dl.google.com/dl/page-speed/psol/1.6.29.5.tar.gz
  tar -xzvf 1.6.29.5.tar.gz
تركيب الموديول مع الدعم وبتتأكد الاول من احدث نسخة اصدرت من nginx

PHP:
 cd ~
  wget http://nginx.org/download/nginx-1.4.1.tar.gz
  tar -xvzf nginx-1.4.1.tar.gz
  cd nginx-1.4.1/
  ./configure --add-module=$HOME/ngx_pagespeed-release-1.6.29.5-beta
  make
  make install
ملفات الكونفج الخاصة بالموديول
* بالاباتشى تكون بالمسار التالى
PHP:
/etc/httpd/conf.d/pagespeed.conf
اما بالنسبة ل nginx فبيكون فى الملف المعتاد للكونفج بالمسار
PHP:
/usr/local/nginx/conf/nginx.conf
الموديول يفعل تلقائيا مع الاباتشى بمجرد التركيب ...
اما بالنسبة ل nginx فيجب اضافة بعض السطور فى كل جزء به
PHP:
server
اضافة الكود التالى فى كل جزء به server بملف الكونفج الخاص ب nginx
PHP:
pagespeed on;

# تأكيد مسار الكاشx.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
لتفعيل الموديول mod_pagespeed .. من ملف pagespeed.conf
بأوله نجعل الخيار
PHP:
ModPagespeed on
من الممكن ايضا تعطيله من كونفج الاباتشى نفسه ولكن ليس باستخدام on او off
PHP:
ModPagespeed unplugged
بالنسبة ل nginx للتفعيل او ايقافه من ملف nginx.conf
فى اى بلوك يخص http او server نضيف
PHP:
pagespeed on;
بكده يكون انتهى التركيب وطريقة التحكم الاساسية بالموديول ... الخطوة القادمة فقط لمن لدية خبرة كافية للتعديل على الويب سيرفر ( حتى مايعطل شىء )

امكانيات الموديول كثيرة وله اختيارات عديدة ايضا .. فى ملف http.conf على سبيل المثال
PHP:
ModPagespeed On
ModPagespeedInheritVHostConfig on
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
ModPagespeedEnableFilters combine_css,combine_javascript

AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

NameVirtualHost *:80
<VirtualHost *:80>
  DocumentRoot /www/example1
  ServerName www.example1.com
  ModPagespeedMapRewriteDomain cdn.example1.com *example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /www/example2
  ServerName www.example2.org
  ModPagespeedMapRewriteDomain cdn.example2.org *example.org
  # الغاء الدمج ل css هنا 
  ModPagespeedDisableFilters combine_css
</VirtualHost>
الخيارات المفعلة بشكل عام للمودويول .. والتحكم بها بشكل خاص ب virtual hosts

ايضا نفس الطريقة بال nginx
PHP:
http {
  pagespeed On;
  pagespeed FileCachePath "/var/cache/ngx_pagespeed/";
  pagespeed EnableFilters combine_css,combine_javascript;

  server {
    listen 80;
    server_name www.example1.com;
    root /www/example1;
    pagespeed MapRewriteDomain cdn.example1.com *example.com;
  }

  server {
    listen 80;
    server_name www.example2.org;
    root /www/example2;
    pagespeed MapRewriteDomain cdn.example2.org *example.org;
    # هنا ايضا تعطيل دمج ال css لهذا الموقع فقط
    pagespeed DisableFilters combine_css;
  }

  server {
    listen 80;
    server_name www.example3.org;
    root /www/example3;

    # لاحظ هنا تعطيل الموديول لهذا الموقع
    pagespeed off;
  }

💕