۱۳۹۵ شهریور ۱۸, پنجشنبه

بهینه سازی وردپرس روی لینوکس Ubuntu

در این آموزش، ما به شما می آموزیم که عملکرد وردپرس را با کمک پلاگین WP Super Cache ، Jetpack Photon و همچنین Nginx  به عنوان وب سرور، بهینه سازی کنید . با استفاده از این تنظیمات و با بهره گیری از روش های کش و ذخیره این پلاگین ها ، تا حد زیادی ظرفیت بازدید همزمان سایت وردپرس شما افزایش می یابد.
WP Super Cache صفحات وردپرس را به صورت صفحات استاتیک HTML کش و ذخیره میکند به طوریکه درخواست ها  برای یک صفحه cache شده، به پردازش شدن توسط اسکریپت های PHP وردپرس نیاز نخواهد داشت. به طور معمول، اکثر بازدید کنندگان سایت شما نسخه کش شده صفحات وردپرس را مشاهده میکنند، به طوری که قدرت پردازش سرور برای خدمت به تعداد کاربران بیشتر افزایش خواهد یافت. افزونه WP Super Cache توسط  Donncha O Caoimh توسعه یافته است.
Jetpack Photon یک سرویس شتاب دهنده تصویر است که با استفاده از شبکه تحویل محتوا (CDN) ، تصاویر سایت وردپرس شما را کش و ذخیره میکند. فوتون Photon یکی از ماژول های موجود در پلاگین jetpack است، که توسط تیم jetpack توسعه یافته است.

بهینه سازی وردپرس روی لینوکس Ubuntu

  1. پیش نیازها :
در این آموزش، شما به یک سرور وردپرس که از Nginx به عنوان وب سرور استفاده می کند نیاز دارید. در صورتی که این پیش نیاز فراهم نباشد مقالات زیر مطالعه کنید:
  1. الزامات و محدودیت های پلاگین :
WP Super Cache با پلاگین هایی که از آرگومان کوئری استفاده میکنند کار نمیکند. همچنین، شما نباید از تنظیمات Permalink پیش فرض وردپرس استفاده کنید (که از شماره صفحه وردپرس به عنوان آرگومان استفاده میکند).
  1. محدودیت های پلاگین Jetpack Photon :
  • شما باید برای فعال کردن jetpack یک حساب کاربری در com ایجاد کنید.
  • سایت وردپرس شما باید به پورت ۸۰ گوش دهد(فوتون با سایت های HTTPS کار نمیکند)
  • هنگامی که یک تصویر gif ، jpg، یا png کش میشود، امکان آپدیت آن وجود ندارد. تنها راه حل آن آپلود دوباره تصویر و تغییر نام تصاویر در سایت شماست.
  • تصاویری که زمان بیشتری برای کپی شدن آن در Photon CDN (بیش از ۱۰ ثانیه) صرف میشود باید نامشان تغییر کرده و یک بار دیگر آپلود شوند .
اگر نمی خواهید از Photon استفاده کنید، در صورت تمایل مراحل مربوط به نصب آن را مطالعه نکنید .
نصب و پیکربندی پلاگین WP Super Cache:

اولین قدم برای نصب پلاگین WP Super Cache این که پلاگین را از سایت wordpress.org دانلود کرده و به پوشه home منتقل کنید:
cd ~; wget http://downloads.wordpress.org/plugin/wp-super-cache.1.4.zip
 قبل از شروع این کار ، پکیج Unzip باید نصب شده باشد در غیر اینصورت آن را با اجرای دستور زیر نصب کنید :
sudo apt-get install unzip
سپس افزونه WP Super Cache را در پوشه افزونه های وردپرس از حالت زیپ خارج کنید ( اگر وردپرس را در جای دیگری نصب کرده اید، مسیر مورد نظر را جایگزین مسیر /var/www/html  کنید) :
cd/var/www/html/wp-content/pluginsunzip ~/wp-super-cache.1.4.zip
سپس مالکیت گروه پلاگین را تغییر  دهید :
sudo chgrp -R www-data wp-super-cache
با اجرای دستور زیر به این پلاگین مجوز write در پوشه wp-content و فایل wp-config.php را بدهید:
chmod g+w/var/www/html/wp-contentchmod g+w/var/www/html/wp-config.php
فایل های وردپرس به درستی راه اندازی شدند، در مرحله بعد باید این افزونه را فعال کنید.
  1. فعال کردن پلاگین WP Super Cache:
به عنوان مدیر، وارد سایت وردپرس و داشبورد ( http://example.com/wp-admin)خود شوید و با اجرای موارد زیر پلاگین WP Super Cache را فعال کرده و وارد تنظیمات آن (settings) شوید:
  • روی Plugins کلیک کنید (ستون سمت چپ)
  • پلاگین WP Super Cache را فعال کنید.
  • فعال کردن کش و ذخیره :
  • حال باید کش را فعال کرده و پلاگین WP Super Cache را به درستی پیکربندی کنید :
    • بر روی تب پیشرفته (Advanced) کلیک کنید.
    • گزینه Cache hits to this website for quick access را چک کنید.
    • برای کش کردن فایل ها، گزینه mod_rewrite را فعال کنید .
    • گزینه Compress pages so they’re served more quickly to visitors را چک کنید.
    • گزینه Don’t cache pages for known users را چک کنید.
    • گزینه Cache rebuild را چک کنید.
    • گزینه Extra homepage checks را چک کنید.
    با کلیک بر روی Update Status تنظیمات فوق را ذخیره کنید.
    WP Super Cache طوری تنظیم شده که صفحات وردپرس را کش کنید. اکنون باید Nginx را برای کش کردن فایل ها پیکربندی کنیم، اما قبل از این کار، در صفحه تنظیمات WP Super Cache لازم است که به نکاتی اشاره کنیم :
    • هشدار درباره Mod Rewrite و  Garbage Collection :
    ممکن است که در بالای صفحه تنظیمات WP Super Cache پیغام هشدار دهنده مشاهده کنید :
به تنظیمات WP Super Cache وارد شوید.

میتوانید این پیغام را نادیده بگیرید چون بجای آپاچی از nginx استفاده میکنید .

این پیغام را می توانید به دو شیوه حذف کنید. اولین روش رد کردن آن (به عنوان مثال با کلیک بر روی دکمه ” Dismiss”) و دومین روش پیکربندی Garbage Collection می باشد. برای پیکربندی Garbage Collection ، در بخش Expiry Time & Garbage Collection در تب Advanced ، تغییرات مورد نظر را اعمال کرده و سپس بر روی دکمه Change Expiration کلیک کنید.
  • مشاهده محتویات کش شده :
شما می توانید لیستی از تمام صفحات کش شده را با ورود به تب Contents در تنظیمات WP Super Cache مشاهده کنید. در اینجا شما قسمتی به نام ” Cache stats” خواهید دیدکه  تعداد فایل های کش شده را نشان می دهد . همچنین شما می توانید کش فعلی را از این قسمت حذف کنید.
WP Super Cache فقط صفحات بازدید شده توسط کاربرانی که وارد سایت نشده اند و کامنتی در سایت ندارند را کش میکند. بنابراین اگر صفحاتی که شما بازدید کرده اید در لیست صفحات کش شده نیست، تعجب نکنید . تا این مرحله ، Nginx هنوز برای کش کردن فایل ها پیکربندی نشده است .
  • سایر تنظیمات WP Super Cache:
علاوه بر تنظیمات فوق، موارد دیگری هستند که ممکن است مفید یا جالب باشد. به تب  CDN  و  Preloading وارد شوید:
استفاده از CDN
 اگر می خواهید از Jetpack Photon استفاده کنید نیازی به CDN نخواهید داشت. در صورت استفاده از CDN، باید  CDN support را در تب CDN فعال کنید.
Preloading Cache
در تب Preloading ، می توانید تنظیمات WP Super Cache را بر روی کش و ذخیره خودکار صفحات تنظیم کنید. تنظیمات این بخش میتواند به گونه ای باشد که به طور خودکار کل سایت یا تعداد ثابتی از پست های اخیر در یک فاصله زمانی مشخص، کش و ذخیره شود. صفحات Preloading از منابع سیستم (CPU برای بازیابی صفحات، و فضای دیسک برای ذخیره صفحات استاتیک) استفاده میکند ، پس قبل از فعال کردن آن این موارد را در نظر بگیرید.
  1. پیکربندی Nginx:
اکنون سایت وردپرس شما، صفحات را با استفاده از WP Super Cache کش میکند و تنظیمات  Nginx را نیز باید به منظور کش کردن فایل ها تغییر دهید . فایل زیر را با اجرای دستور زیر ویرایش کنید:
sudo vi /etc/nginx/sites-enabled/wordpress
با توجه به مقالاتی که در قسمت پیش نیاز ها به آن اشاره شد ، خط زیر را کپی کرده و در زیر server_name قرار دهید :
set $cache_uri $request_uri;

    # POST requests and urls with a query string should always go to PHP
    if ($request_method = POST) {
        set $cache_uri 'null cache';
    }   
    if ($query_string != "") {
        set $cache_uri 'null cache';
    }   

    # Don't cache uris containing the following segments
    if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
    }   

    # Don't use the cache for logged in users or recent commenters
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
    }

    # Use cached or actual file if they exists, otherwise pass request to WordPress
    location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php ;سپس خطوط قبل از خط زیر را حذف کنید
location ~ \.php$ {Nginx را مجدد راه اندازی کنید تا تغییرات ایجاد شده اجرا شود :sudo service nginx restart
اگر میخواهید برای کش کردن تصاویر از پلاگین Jetpack Photon استفاده کنید ، این آموزش را تا پایان دنبال کنید :
  1. نصب و فعال سازی Jetpack Photon :

پلاگین Jetpack را در پوشه home دانلود کنید :
cd ~; wget http://downloads.wordpress.org/plugin/jetpack.latest-stable.zip
سپس آن را در پوشه افزونه های وردپرس (plugins  ) اکسترکت کنید :
cd /var/www/html/wp-content/plugins
unzip ~/jetpack.latest-stable.zip
sudo chgrp -R www-data jetpack
jetpack با ماژول های مختلف دیگری به غیر از Photon همراه خواهد بود ، که بسیاری از آنها به طور پیش فرض فعال هستند. اگر علاوه بر jetpack مایل به استفاده از ماژول های دیگر آن هستید، نیازی به دنبال کردن ادامه این آموزش ندارید و به سادگی می توانید ماژول Photon را از طریق تنظیمات پلاگین jetpack در صفحه مدیریت وردپرس (داشبورد) فعال کنید. در غیر این صورت، ماژول های دیگر را با اضافه کردن چند خط کد به فایل PHP پلاگین، غیر فعال کنید.
فایل wp-config.php را با اجرای دستور زیر ویرایش کنید :
vi/var/www/html/wp-config.phpخطوط زیر را به انتهای فایل اضافه کنید :
function change_default_modules() {
    return array( 'photon' );  // activate these modules by default
}
add_filter( 'jetpack_get_default_modules', 'change_default_modules' );

function activate_specific_jetpack_modules( $modules ) {
        $active_modules = array( 'photon' );  // enable these modules
        $modules = array_intersect_key( $modules, array_flip( $active_modules ) );  // deactivate other modules
        return $modules;
}
add_filter( 'jetpack_get_available_modules', 'activate_specific_jetpack_modules' );
تغییرات را ذخیره کرده و خارج شوید. پلاگین jetpack همراه با ماژول Photon و با غیر فعال شدن سایر ماژول ها فعال خواهد شد .
  1. فعال کردن پلاگین jetpack :
به عنوان مدیر، وارد سایت وردپرس و داشبورد ( http://example.com/wp-admin)خود شوید و با اجرای موارد زیر پلاگین jetpack را فعال کرده و وارد تنظیمات (settings) آن شوید:
  • روی Plugins کلیک کنید (ستون سمت چپ)
  • پلاگین jetpack را فعال کنید.
  • به تنظیمات WP Super Cache وارد شوید.
بر روی Connect to WordPress.com در بالای صفحه Plugins کلیک کنید
پس از وارد کردن نام کاربری و رمز عبور اکانتی که در WordPress.com ایجاد کرده اید بر روی Authorize Jetpack کلیک کنید:

تمام تصاویر موجود در سایت وردپرس شما (png ، JPG، GIF) توسط Photon CDN کش خواهد شد و با مصرف پهنای باند و منابع کمتر و افزایش ظرفیت بازدید همزمان، سرور شما رو تحت تاثیر قرار خواهد داد.

هیچ نظری موجود نیست:

ارسال یک نظر