المُطلِق المنتجات Bitnami التوثيقimaxe CLI المدوّنة اتصل بنا
imaxe memcached ذاكرة مؤقتة v1.1.0

شغّل ذاكرتك المؤقتة دون لمس الملفات

يحسب ويطبّق حجم الذاكرة المؤقتة وعدد الخيوط والاتصالات المناسبة لمثيلك، ويدير اعتمادات SASL وشهادة TLS، ويعرض حالة الخدمة مباشرةً — كل ذلك دون تحرير memcached.conf يدويًا.

$ imaxe memcached status
الإصدار
v1.1.0
الأوامر الفرعية
9
الإعدادات
/etc/imaxe/memcached.yml
يتطلّب root
نعم
المنافذ
11211 TLS · 11212 local

ماذا تفعل هذه الوحدة #

يُضبط memcached بملف نصي وحفنة من الرايات: كم من الذاكرة يُمنح، وكم خيطًا، وكم اتصالًا. إصابة هذه الأرقام تتوقف على حجم المثيل، والخطأ مكلف — إمّا أن تضيق بك الذاكرة المؤقتة أو تلتهم الذاكرة التي يحتاجها النظام.

تتكفّل وحدة memcached بذلك وبكل ما يحيط بالخدمة: تحسب الضبط انطلاقًا من الذاكرة الفعلية للجهاز، وتدير اعتمادات SASL (إلزامية في هذه الصورة)، وتصون شهادة TLS التي تُولَّد عند الإقلاع الأول —ولا تُخبز أبدًا داخل الـ AMI— وتمنحك الحالة المباشرة مع إحصاءات الخدمة.

قبل أن تبدأ

الأوامر التي تقرأ الاعتمادات أو تمسّ الإعدادات تحتاج root (استخدم sudo). انتبه إلى optimize: تطبيق قيم جديدة يعيد تشغيل الخدمة، وإعادة التشغيل تفرّغ الذاكرة المؤقتة. إن فضّلت إعادة التشغيل بنفسك فاستخدم --no-restart.

دليل سريعمهام خطوة بخطوة

دليل سريع #

اختر ما تريد فعله. كل وصفة تأتي بالأمر مكتوبًا — انسخه واضغط نسخ.

1

عرض حالة الخدمة

تحقّق بنظرة واحدة أن الذاكرة المؤقتة سليمة وما الضبط المطبَّق.

اتصل بمثيلك عبر SSH بالمستخدم ubuntu.

اطلب الحالة: سترى على أي المنافذ يستمع، وهل TLS وSASL مفعّلان، والضبط المطبَّق والإحصاءات المباشرة (الذاكرة المستخدمة، العناصر، الإصابات والإخفاقات):

terminal
$ sudo imaxe memcached status

أتريدها للوحة معلومات أو سكربت؟ أضف --json:

terminal
$ sudo imaxe memcached status --json
إذا ظلّ hits يتزايد وevictions منخفضًا فحجم الذاكرة المؤقتة مضبوط. وإن قفزت عمليات الطرد فانتقل إلى ضبط حجم الذاكرة المؤقتة.
2

الاتصال بالذاكرة المؤقتة

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

تفرض هذه الصورة SASL: لا وصول مجهولًا. اطلب اعتمادات هذا المثيل (تخرج كلمة المرور مقنّعة):

terminal
$ sudo imaxe memcached credentials

وحين تحتاج نسخها فعلًا، اعرضها صريحة:

terminal
$ sudo imaxe memcached credentials --show-password
المنفذ 11211 يعمل بـ TLS؛ أمّا 11212 فنص صريح ويستمع على loopback فقط، لأدوات النظام نفسه. لا تفتح 11211 على الإنترنت: افتحه لنطاق CIDR الخاص بشبكتك الافتراضية.
3

ضبط حجم الذاكرة المؤقتة

أعد حساب الذاكرة والخيوط والاتصالات وفق الحجم الحقيقي للجهاز.

انظر أولًا ما القيم التي ستخرج، دون تغيير أي شيء:

terminal
$ sudo imaxe memcached optimize --show

إن أقنعتك فطبّقها. تُعاد تشغيل الخدمة وتفرغ الذاكرة المؤقتة:

terminal
$ sudo imaxe memcached optimize

أتريد ذاكرة مؤقتة أكبر وهامشًا أقل للنظام؟ ارفع نسبة الذاكرة:

terminal
$ sudo imaxe memcached optimize --memory-pct 75
مع --dry-run ترى أيضًا كتلة الإعدادات التي كانت ستُكتب. ومع --no-restart تُطبَّق دون إعادة تشغيل: تسري القيم الجديدة عند الإقلاع التالي.
4

إنشاء مستخدمي SASL

أنشئ أو دوّر أو احذف الاعتمادات التي تستخدمها تطبيقاتك.

اعرض المستخدمين الموجودين في قاعدة SASL:

terminal
$ sudo imaxe memcached users list

أنشئ واحدًا لكل تطبيق، بكلمة مرور عشوائية:

terminal
$ sudo imaxe memcached users add app1

أتريد كلمة مرور بعينها؟ مرّرها عبر الدخل القياسي كي لا تظهر في ps ولا في سجلّ الأوامر:

terminal
$ sudo imaxe memcached users add app1 --stdin
لتغيير كلمة مرور مستخدم: imaxe memcached users rotate <المستخدم>. وبدون اسم تُدوَّر كلمة مستخدم المنتج.
5

مراجعة شهادة TLS

تحقّق من تاريخ الانتهاء وجدّد شهادة المثيل.

تُولَّد الشهادة عند الإقلاع الأول لـكل مثيل، فلا تُشارَك أبدًا بين الأجهزة. انظر المستخدمة حاليًا:

terminal
$ sudo imaxe memcached tls show

جدّدها متى شئت، حتى لو كانت الحالية صالحة:

terminal
$ sudo imaxe memcached tls renew --force
إنها شهادة موقّعة ذاتيًا بصلاحية طويلة. على عميلك أن يثق بها أو يتحقّق من بصمتها SHA-256، وهي التي يطبعها tls show.
لا تُقلع، أو لا يجد الاعتماد؟

يُنشئ instance-setup الاعتماد والشهادة عند كل إقلاع، ويستدعيه systemd. إن أجاب أمرٌ بالرمز 65 فذلك المثيل لم يُكمل إقلاعه الأول: راجع sudo systemctl status memcached قبل تغيير أي شيء.

مرجع CLIالأوامر والرايات والملفات

الملخّص #

الاستخدام
imaxe memcached <أمر فرعي> [flags]

تحتاج أغلب الأوامر الفرعية إلى root (استخدم sudo) لأنها تقرأ قاعدة SASL أو الشهادة أو إعدادات الخدمة. أضف --json إلى status أو credentials أو users list أو tls show للحصول على خرج تقرؤه الآلة.

الأوامر الفرعية #

الأمر الفرعيماذا يفعلالرايات المهمة
optimizeيحسب ويطبّق أفضل حجم للذاكرة المؤقتة وعدد الخيوط والاتصالات لهذا المثيل.--memory-pct --dry-run --show --no-restart
statusحالة الخدمة: المنافذ المستمعة، TLS، SASL، الضبط المطبَّق والإحصاءات المباشرة.--json
credentialsيعرض اعتمادات SASL لهذا المثيل وكيفية الاتصال.--json --show-password
usersيدير مستخدمي SASL: list وadd وrotate وdelete.--password --stdin --json
set-passwordيغيّر كلمة مرور مستخدم SASL الخاص بالمنتج. اختصار لـ users rotate.--random --stdin
open-portيفتح منفذ memcached في جدار حماية المضيف (ufw).--cidr --json
close-portيغلق المنفذ في جدار حماية المضيف ويزيل القواعد الموجودة.--json
tlsشهادة TLS لهذا المثيل: show وrenew.--force --json
instance-setupيهيّئ المثيل قبل تشغيل الخدمة. يستدعيه systemd عند كل إقلاع.--bake

الوسائط والرايات #

الرايةالنوعالافتراضيالوصف
--memory-pctint60في optimize: نسبة الذاكرة القابلة للاستخدام المخصّصة للذاكرة المؤقتة.
--reserve-mem-mbint512في optimize: ذاكرة بالميغابايت لا تُمسّ، محجوزة للنظام وبقية الخدمات.
--threadsint0في optimize: خيوط المعالجة. 0 يشتقّها من عدد المعالجات.
--max-connectionsint0في optimize: الاتصالات المتزامنة. 0 يشتقّها من حجم الذاكرة المؤقتة.
--dry-runboolfalseفي optimize: لا يكتب شيئًا؛ يعرض القيم وكتلة الإعدادات التي كانت ستُطبَّق.
--showboolfalseفي optimize: يطبع القيم المحسوبة فقط.
--no-restartboolfalseفي optimize: يكتب الإعدادات لكن لا يعيد تشغيل الخدمة. إعادة التشغيل تفرّغ الذاكرة المؤقتة.
--passwordstringفي users add/rotate: كلمة مرور محدّدة. وإن أُغفلت تُولَّد عشوائية.
--stdinboolfalseفي users add/rotate: يقرأ كلمة المرور من الدخل القياسي كي لا تظهر في ps ولا في السجلّ.
--show-passwordboolfalseفي credentials: يطبع كلمة المرور صريحة. وهي مقنّعة افتراضيًا.
--forceboolfalseفي tls renew: يعيد التوليد حتى لو كانت الشهادة الحالية صالحة وتخصّ هذا المثيل.
--randomboolfalseفي set-password: يولّد كلمة مرور قوية ويطبعها مرة واحدة فقط.
--cidrstringفي open-port: يقصر القاعدة على ذلك المصدر. بدونه يُسمح بأي مصدر.
--jsonboolfalseيُخرج النتيجة بصيغة JSON منظّمة على stdout.

الملفات والمسارات #

المسارالمحتوى
/etc/imaxe/memcached.ymlإعدادات الوحدة: الخدمة والمسارات والقيم الافتراضية لـoptimize وTLS وSASL.
/etc/memcached.confإعدادات memcached. يكتبها optimize: لا تحرّرها يدويًا.
/etc/systemd/system/memcached.service.d/ملحق systemd يحمل معاملات الإقلاع التي تطبّقها الوحدة.
/etc/memcached/tls/شهادة هذا المثيل ومفتاحه الخاص، مولّدان عند الإقلاع الأول.
/etc/sasl2/memcached-sasldb2قاعدة SASL بالمستخدمين وكلمات مرورهم.

مثال على memcached.yml:

/etc/imaxe/memcached.yml
service: memcached
port: 11211
optimize:
  memory_pct: 60
  memory_min_mb: 64
  reserve_mem_mb: 512
  threads: 0
  max_connections: 0
tls:
  enabled: true
  days: 3650
  plain_local_port: 11212
sasl:
  enabled: true
  user: memcached

رموز الخروج والسجلات #

يعيد كل تشغيل رمزًا يمكنك فحصه بـecho $? — مفيد للتسلسل داخل السكربتات:

0OKاكتملت العملية بنجاح.
1ERRخطأ عام غير مصنّف. راجع السجلّ.
2USAGEوسائط أو أمر فرعي غير صالح.
64NOMEMCACHEDmemcached غير مثبّت على هذا الجهاز.
65NOSECRETطُلب اعتماد لم يولّده هذا المثيل بعد.
66NOUFW‏ufw غير متوفر على هذا الجهاز.

تابع الخدمة مباشرةً أثناء عملك:

terminal
$ sudo systemctl status memcached
$ sudo journalctl -u memcached -f

حل المشكلات #

العَرَضالسبب المرجّحالحل
يظهر NOSECRET (الرمز 65)لم يُكمل المثيل إقلاعه الأول، وعنده يتحقّق الاعتماد.راجع sudo systemctl status memcached ثم أعد المحاولة.
يظهر NOMEMCACHED (الرمز 64)الوحدة مثبّتة لكن memcached غير موجود على المضيف.أنت على صورة غير صورة المنتج: ثبّت memcached أو استخدم الـ AMI الصحيح.
كثرة evictions في statusالذاكرة المؤقتة صغيرة على ما تخزّنه: تُطرد العناصر لإفساح المجال.ارفع النسبة بـoptimize --memory-pct أو انتقل إلى مثيل بذاكرة أكبر.
تبدو الذاكرة المؤقتة فارغة فجأةأُعيد تشغيل الخدمة، وmemcached لا يحفظ شيئًا على القرص.أمر طبيعي بعد optimize. وللتطبيق دون إعادة تشغيل استخدم --no-restart.
يرفض العميل الشهادةإنها موقّعة ذاتيًا وخاصة بكل مثيل.ثِق بها في عميلك أو تحقّق من بصمتها بـtls show.

هل واجهتك مشكلة مع وحدة Memcached؟

راسلنا مرفقًا مخرجات «imaxe <module> status --json» وسنرد عليك بسرعة.

التواصل مع الدعم