1 post / 0 new
#1 1. مارس 2020 - 9:17
شبيب ال مطلق
انضم: 2018-01-12

شرح عمل unix socket متعدده memcached مع php

بسم الله الرحمن الرحيم 

في البداية لتركيب اداة التخزين المميزة memcached عليكم الدخول على شرح التركيب 

شرح تركيب المسرع memcache على السيرفر

حتى تعرفون فائدة استخدام socket لانها اسرع بكثير من tcp اذا كان الموقع على نفس السيرفر اذا كان memcahed على سيرفر اخر بالافضل استخدام tcp port 

بعد تثبيت memcached نبدأ اضافة ملفات اعادة التشغيل الجديدة حتى نعدل عليها ونستخدمها 

نطبق الامر 

nano /etc/systemd/system/memcached2.service

نضيف بداخلة 

[Unit]
Description=Memcached 
Before=httpd.service
After=network.target

[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/memcached2
ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS

[Install]
WantedBy=multi-user.target

ركزوا على EnvironmentFile=-/etc/sysconfig/memcached2 

نحفظ التعديل ctrl+x نختار y 

بعدها 

nano /etc/sysconfig/memcached2

نضيف بداخلة 

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS="-s /path/to/memcached1.socket -a 0776"

ملاحظة : في العادة يتم انشاء ملف socket بداخل مجلد tmp مثال /tmp/memcached1.socket اذا حبيتوا تنقلونه الى مجلد اخر مثل استخدام قرص هاردسك ssd لابد من انشاء المجلد تحت ترخيص memcached حتى يتم انشاء الملف بدون مشاكل

نحفظ التعديل بنفس الطريقة السابقة 

بعدها نفعل ملف اعادة خدمة ميم كاش الجديد 

systemctl enable memcached2

نشغل ملف الخدمة الجديد

systemctl start memcached2

نتأكد من عمله 

systemctl status memcached2

بكذا انتهينا من انشاء ملف socket واستفدنا من سرعته وضبطنا اعداداته وبالامكان تكرارها على حسب الحاجة على سبيل المثال مع بي اتش بي 

session.save_handler = memcached
session.save_path = unix://run/memcached/memcached2.sock

لو خصصنا له ملف socket يكون افضل والمواقع الكبيره تحتاج لها اعدادات خاصه بها بهذي الطريقة ممكن نتحكم فيها بكل سهولة 

ملاحظة : عند انشاء الملفات وضبط الاعدادات لابد من الانتباه الى الرام الذاكرة الموجودة في السيرفر المتبقي منها بعد ضبط اعدادات البرامج الموجودة والنظام من الخطا حساب عدد الذاكرة الموجودة عندنا في السيرفر بشكل كلي وحتى تتأكدون من الرام المتبقي استخدموا امر 

free -m

وابدوا في حسابها مع ترك مجال للبرامج في استخدام الذاكرة المتبقية عند الحاجة لها 

اللحين ممكن استخدامها داخل انظمة php مثل دروبال مع وحدة memcache
https://www.drupal.org/project/memcache

نضيف التعديلات اللي نحتاجها بتشوفونها داخل ملف التعليمات 
https://git.drupalcode.org/project/memcache/blob/7.x-1.x/README.txt

ركزوا على memcache_servers مثال 

  $conf['memcache_servers'] = array('10.1.1.1:11211' => 'default',
                                    '10.1.1.1:11212' => 'pages',
                                    'unix:///path/to/socket' => 'blocks');

شاهدوا unix:///path/to/socket ممكن تكراره داخل memcache_servers مع كل socket جديد

 

الصور المرفقة: 

Tags