كيف يساعدك tmux في إدارة خادم Cloudways عبر SSH
نشرت: 2020-03-06
تُكمل هذه المقالة وتمدد مقطع فيديو قمت بإنشائه باستخدام SSH و tmux لإدارة خوادم Cloudways الخاصة بي. في الفيديو ، يمكنك مشاهدتي وأنا أستخدم tmux لإدارة اتصالات SSH بخوادم Cloudways متعددة واستخدام أداة سطر الأوامر htop لتحليل حمل الخادم.
يمكنك مشاهدة الفيديو كاملاً هنا:
نظرًا لوجود الكثير في هذه المحادثة أكثر من مجرد ما غطيته في الفيديو ، فقد أردت كتابة هذه المقالة المجانية وإعطاء المزيد من الأفكار حول سبب استخدامي tmux ولماذا أعتمد على SSH لإدارة الخادم.
لإعطائك القليل من الخلفية ، لست مسؤول خادم عن طريق التدريب - ولا حتى مطور ويب مدرب. كل ما أفعله هو عصامي. بالنسبة لي ، التعلم بالممارسة هو أسلوبي المفضل لاكتساب المهارات أو مواجهة التحديات التي أواجهها. لم أعد صديقًا للتعليم الرسمي (تركت درجة الماجستير في أمن تكنولوجيا المعلومات) وبدلاً من ذلك أؤمن بالاشتراك في التكنولوجيا لفهم كيفية عملها.
يرجى مراعاة هذا النهج أثناء مشاهدة الفيديو وقراءة هذه المقالة. كما سترى ، لقد قسمت المقالة إلى قسمين. يمكن أن يكون كل منها مقالًا طويلًا حقًا أو ربما مقالات متعددة بمفردها ، لكنني اعتقدت أنها تتناسب معًا بشكل جيد في هذا السياق.
- إدارة الخادم الخاص بك عبر SSH
- لماذا يجب عليك استخدام سطر الأوامر؟
- حالة الاستخدام: تصحيح أخطاء تحميل الخادم باستخدام htop
- حالة الاستخدام: استخدام WP-CLI على خوادم Cloudways
- لماذا أوصيت tmux؟
إدارة الخادم الخاص بك عبر SSH
تتمثل إحدى مزايا استخدام Cloudways للاستضافة في أن لديك وصول سطر الأوامر إلى خوادمك وتطبيقاتك. في حين أنه ليس الوصول إلى الجذر ، يمكنك القيام بالكثير من الأشياء في سطر الأوامر.
من وجهة نظري ، من المعقول أنني لا أحصل على وصول الجذر إلى خوادم Cloudways الخاصة بي. تخيل كيف تبدو صيانة خوادم 20 ألفًا إذا قام كل مسؤول خادم بتثبيت أدواته وحزمه الخاصة. هذا عمل فذ مستحيل تحقيقه. مع هذا ، تتيح لنا Cloudways الوصول إلى WP-CLI والعديد من الأدوات القياسية الأخرى. وهذا كثير للعمل معه في الحفاظ على الخوادم الخاصة بك والبقاء على اطلاع بما تفعله الخوادم.
لقد استغرق الأمر مني بعض الوقت لفهم فوائد إدارة الخوادم الخاصة بي عبر SSH ولكني الآن لا أرى أي طريقة أخرى للتعامل مع هذا الأمر. الأسباب الرئيسية للذهاب إلى سطر الأوامر هي:
- لست مضطرًا إلى الانتظار حتى يتم تحميل تطبيق ويب لأرى ما أريد رؤيته.
- تتم إدارة تسجيل الدخول عبر مفاتيح SSH ، لذلك لا يتعين علي إدخال كلمة المرور الخاصة بي دون داع.
- يمكنني الاستمرار في تشغيل جلسات SSH ولا داعي للقلق بشأن تسجيل الدخول وتسجيل الخروج.
- لدي حق الوصول إلى WP-CLI ويمكنني القيام بأشياء لا يمكنني القيام بها في لوحة معلومات WP Admin العادية.
- يمكنني أتمتة تنفيذ المهام باستخدام وظائف cron والبرامج النصية.
- لست مضطرًا إلى تحريك يدي بعيدًا عن لوحة المفاتيح لاستخدام الماوس ويمكنني إبقائهما في حالة استرخاء.
يرجى ملاحظة أنه كشرط أساسي ، يجب أن يكون لديك أحد أشكال عميل SSH مثبتًا. إذا كنت تستخدم نظام التشغيل Linux أو Mac ، فيمكنك ببساطة استخدام التطبيقات الطرفية المثبتة مسبقًا. إذا كنت من مستخدمي Windows مثلي ، فيمكنك إما تثبيت PuTTY أو استخدام Bash الذي يأتي مع نظام Windows الفرعي لنظام Linux (وهو ما أفضله).
إذا كنت لا ترغب في تثبيت أي برنامج إضافي ، يمكنك أيضًا فتح SSH Terminal من Cloudways Console ولكن هذا ليس حلًا أوصي به للاستخدام اليومي. كما سترى ، فإن الجمال في استخدام واجهة سطر الأوامر هو عدم الحاجة إلى تسجيل الدخول إلى تطبيق ويب مثل Cloudways Console.
لماذا يجب عليك استخدام سطر الأوامر؟
شعرت باستخدام سطر الأوامر بالرهبة في البداية. هذا صحيح بالنسبة لإدارة الخادم كما هو الحال مع استخدام سطر الأوامر على جهاز الكمبيوتر المحلي أو جهاز Mac. تأتي معظم معرفتي بسطر الأوامر من البرامج التعليمية التي قرأتها على الإنترنت أو من صديق لي يعمل في شركة Cisco. كل شيء يتعلم بالممارسة.
من السهل كسر الأشياء ، خاصة عند تكوين خادم أو خدمة مثل خادم الويب أو ذاكرة التخزين المؤقت من جانب الخادم. إن عدم معرفتي بما كنت أفعله وعدم وجود أي خبرة في استخدام أدوات سطر الأوامر لا يوحي بالضرورة بالثقة فيَّ لمحاولة إدارة الخوادم الخاصة بي عبر SSH.
حصلت في النهاية على مخلفاتها واكتشفت فوائد استخدام سطر الأوامر باتباع ثلاث قواعد:
- اتخذ دائمًا خطوة واحدة في كل مرة وحاول أن تفهم بالضبط ما تفعله في هذه الخطوة.
- احتفظ دائمًا بنقطة استعادة أو نسخة احتياطية في حالة كسر الأشياء.
- اختبر دائمًا في بيئة آمنة ولا تنفذ أبدًا أداة سطر أوامر على موقع ويب مباشر لأول مرة.
مع هذه القواعد ، كنت أعلم أنه لا يوجد شيء يمكن أن يحدث بشكل خاطئ. لقد أنشأت نسخة مرحلية من موقع الويب المباشر الخاص بي على Cloudways باستخدام وظيفة " Clone " واتبعت للتو البرنامج التعليمي لتسجيل الدخول عبر SSH. بمجرد تسجيل الدخول ، بدأت في اللعب باستخدام WP-CLI وأدوات إدارة الخادم البسيطة الأخرى مثل htop.
إذا اتبعت نهجًا مشابهًا ، فيجب أن تكون في وضع جيد لتتعلم بأمان كيفية استخدام سطر الأوامر. إنه يساعد في الحصول على خلفية في التطوير أو تكنولوجيا المعلومات ولكني لا أعتقد أن هذا ضروري. فكر ببساطة في سطر الأوامر كطريقة للتفاعل مع جهاز الكمبيوتر الخاص بك ، تمامًا كما تفعل بالماوس على سطح المكتب. خاصة مع WP-CLI ، من السهل اتخاذ الخطوات الأولى في سطر الأوامر ومشاهدة النتائج على لوحة معلومات WP Admin.
حالة الاستخدام: تصحيح أخطاء تحميل الخادم باستخدام htop
في الفيديو ، سترى أنني أستخدم أداة htop لتحليل استخدام موارد الخادم. htop هي أداة قياسية تمنحك رؤى حول ما يحدث حاليًا على الخادم الخاص بك في الوقت الفعلي. بالنظر إلى أن بيانات مراقبة Cloudways Platform في بعض الأحيان بها تأخيرات طفيفة ، فمن المفيد للغاية معرفة المزيد حول استخدام htop .

كلما أبلغني برنامج Cloudways bot أن استخدام وحدة المعالجة المركزية (CPU) أو ذاكرة الوصول العشوائي (RAM) يرتفع ، أقوم بتسجيل الدخول إلى الخادم المعني عبر SSH وتشغيل htop. في غضون ثوانٍ ، يمكنني تحديد العملية والتطبيق الذي يشغل الموارد. ما يستغرق مني دقيقة أو دقيقتين باستخدام منصة الويب Cloudways يتم تنفيذه في غضون 10 إلى 20 ثانية.
هذا ما يبدو عليه htop في الممارسة:

تتمثل عملية التصحيح بعد ذلك في تحديد التطبيق الذي يشغل كميات غير معتادة من موارد الخادم عبر htop وفحص هذا التطبيق بمزيد من التفصيل. إذا رأيت عملية PHP لهذا التطبيق تستهلك وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي ، فأنت تعلم أنه من المحتمل أن يكون هناك شيء متعلق بمكوِّن WP الإضافي أو السمة الخاصة بك. غالبًا ما تكون العمليات المجدولة من خلال WP-Cron قد تراكمت ويتم تنفيذها الآن دفعة واحدة ، مما يؤدي إلى زيادة التحميل على الخادم الخاص بك.
إذا رأيت عملية MySQL أو MariaDB تستهلك موارد الخادم ، فأنت تعلم أنه ليس عليك البحث في المكونات الإضافية أو السمة ولكن في قاعدة البيانات. لقد رأيت قواعد البيانات تفقد مؤشراتها وبالتالي تتسبب في تشغيل استعلامات SQL ببطء شديد. قد يستغرق الأمر وقتًا طويلاً حتى تتمكن من تحديد مصادر المشكلة إذا كنت لا تعرف ما إذا كانت PHP أو MySQL هي التي تسبب المشكلات.
كما يمكنك أن تتخيل ، هذا مجرد غيض من فيض لما يمكن أن يفعله htop. فيما يلي قائمة بأمثلة htop العملية التي تأخذ مثالى إلى المستوى التالي.
حالة الاستخدام: استخدام WP-CLI على خوادم Cloudways
يمكن أن تكون معرفة كيفية استخدام WP-CLI مغيرًا حقيقيًا للعبة لنهج التطوير اليومي الخاص بك. تركيب الفانيليا الفانيليا دون تحريك الفأرة؟ لا مشكلة. هل تريد حذف جميع العابرين بتثبيت مكون إضافي؟ سهل. تحليل الخطافات التي تبطئ وقت تحميل موقع الويب الخاص بك أكثر من غيرها؟ يمكنك فعل ذلك مع WP-CLI أيضًا.
إنه لأمر مدهش حقًا أن تمنحنا Cloudways إمكانية الوصول إلى WP-CLI عبر سطر الأوامر. يمكنك بسهولة إنشاء أدوات تقوم بتثبيت مكدس البرنامج المساعد الافتراضي WordPress وموضوعه. أو يمكنك استخدام WP-CLI لتنزيل نسخة احتياطية من قاعدة البيانات لموقعك في غضون ثوانٍ أو دقائق (حسنًا ، هذا يعتمد على حجم قاعدة البيانات الخاصة بك).
إليك المشكلة: عليك استخدام سطر الأوامر للوصول إلى WP-CLI. وبالتالي ، يتعين عليك تسجيل الدخول إلى الخادم الخاص بك عبر SSH من أجل تنفيذ أوامر WP-CLI على مواقع الويب التي تستضيفها Cloudways.
إذا لم يكن هناك سبب آخر لك للتعرف على سطر الأوامر والبدء في استخدام SSH لإدارة الخوادم الخاصة بك ، فيجب أن يكون WP-CLI هو ذلك. اسمحوا لي أن أقدم لكم ثلاثة أمثلة فقط تستحق التجربة:
1. تحسين وإصلاح قاعدة البيانات الخاصة بك
نظرًا لأننا لا نحصل على PhpMyAdmin على Cloudways ، فإن امتلاك خيار تحسين وإصلاح قاعدة بيانات WordPress الخاصة بك باستخدام WP-CLI يعد أمرًا مفيدًا. باستخدام تحسين wp db وإصلاح wp db ، يمكنك تحديث قاعدة البيانات الخاصة بك بسرعة واستقرار عملياتها.
2. خلق موضوع الطفل في غضون ثوان
نعم ، يمكنك إنشاء سمة فرعية عن طريق إنشاء دليل جديد وتحميله يدويًا باستخدام style.css و function.php الخاصين به إلى wp-content / theme - ولكن لماذا تهتم إذا كان بإمكانك تشغيل أمر بسيط يتعامل مع كل شيء من أجلك؟
لا مزيد من البحث في Codex للتحقق مما إذا كانت المواصفات قد تغيرت ، ولا مزيد من عمليات تسجيل الدخول إلى SFTP وعمليات نقل الملفات. ما عليك سوى تشغيل الأمر التالي في سطر الأوامر ويكون القالب الفرعي الخاص بك جاهزًا للاستخدام:
wp scaffold child-theme SLUG –parent_theme = SLUG –theme_name = TITLE –author = FULL-NAME –author_uri = URI –theme_uri = URI –activate –force
لاحظ أن هذا الأمر سينشط السمة الفرعية افتراضيًا. إذا كنت لا تريد القيام بذلك ، فقم بحذف "–activate-force" في نهاية الأمر.
3. إنشاء محتوى وهمي لأغراض التنمية
يحتاج جميع المطورين إلى بيانات للعمل معها خلال مراحل التطوير الخاصة بهم. ماذا لو لم يكن عليك إنشاء منشورات وصفحات وتكرارها يدويًا في لوحة معلومات WP Admin؟ ماذا لو كان بإمكان WP-CLI إنشاء أي قدر من البيانات الوهمية لك بأمر بسيط؟
من خلال تشغيل wp post إنشاء –count = 10 ، يمكنك إنشاء عشر منشورات تجريبية في ثوانٍ. تعمل نفس الوظيفة لإنشاء الصفحات وبيانات WooCommerce الوهمية وتتيح لك إضافة محتويات lorem ipsum إلى المنشورات.
ببساطة باستخدام curl http://loripsum.net/api/4 | wp post إنشاء –post_content –count = 10 سينشئ 10 منشورات تحتوي كل منها على أربع فقرات من نص Lorem Ipsum.
لماذا أوصيت tmux؟
آمل أن تكون الأمثلة التي قدمتها أعلاه كافية لتجعلك متحمسًا لتجربة SSH للحفاظ على خوادم Cloudways. اسمحوا لي أن آخذ هذه المقالة إلى أبعد من ذلك وأتحدث عن سبب استخدامي tmux لإدارة جلسات SSH الخاصة بي.
باختصار ، يتيح لك tmux إدارة جلسات طرفية متعددة في وقت واحد. بمعنى ، عندما تفعل شيئًا ما في الجهاز أثناء وجودك في جلسة tmux ، فإن tmux سيتتبع ما تفعله. حتى إذا قمت بإغلاق المحطة عن طريق الخطأ ، فلن تضيع جلستك. يمكنك ببساطة العودة إلى حيث توقفت بأمر واحد ومتابعة العمل.
يتيح لك tmux أيضًا جلسات نصية. على سبيل المثال ، إذا كنت تميل إلى تنفيذ نفس الأوامر لإعداد بيئات التطوير مرارًا وتكرارًا ، فيمكنك أتمتة هذه الأوامر باستخدام tmux.
لأكون صريحًا ، لست متأكدًا مما إذا كنت سأتعلم كل ما يقدمه tmux - ببساطة لأنه كثير جدًا. إنه مشابه لجداول بيانات Google أو MS Excel - نعلم جميعًا مدى قوة هذه الأدوات ولكننا نستخدم ربما 5 ٪ من وظائفها على أساس يومي. ومع ذلك ، فأنا أعرف ما يكفي لاستخدام tmux في تطوير WordPress اليومي الخاص بي .
كما ترى في الفيديو ، أستخدم tmux لتتبع جلسات SSH الخاصة بي. هذا يحفظني من تسجيل الدخول إلى خوادم Cloudways الخاصة بي مرارًا وتكرارًا. أنا فقط أقوم بإعادة إرفاق جلسة tmux المسماة "Cloudways" وأواصل العمل على خوادمي. لا يوجد سحر ، ولكن حتى هذا القرص الصغير يوفر لي الوقت كل يوم. أفعل نفس الشيء مع Raspberry Pi الخاص بي في المنزل (أنا شخص ذكي في المنزل في وقت فراغي).
tmux رائع لأنه يتيح لك توفير الوقت وزيادة إنتاجية وتقليل حركات يدك طوال اليوم. إذا كنت مثلي ، فمن السهل أن تصاب بألم في الرسغ من الأيام الطويلة التي تقضيها على الكمبيوتر. حتى مع وجود ماوس مريح ، لن يختفي بالنسبة لي. لكن ما نجح هو تقليل الحركات التي كنت أقوم بها بيدي.
غالبًا ما يبدو تبديل اليد اليمنى من لوحة المفاتيح إلى الماوس وكأنه انقطاع في التدفق. كان علي أن أفكر في المكان الذي أضع فيه يدي اليمنى ، كان هناك ضغط طفيف على الرسغ وخرجت من تدفق الكتابة. مع tmux ، يمكنك تحقيق إنتاجية خالية من الماوس تقريبًا بمجرد تعطلها.
أود أن أتعمق أكثر في tmux ، لكن هذا خارج نطاق هذا المقال. بدلاً من ذلك ، سأقدم لك بعض المقالات التي ستساعدك على البدء في استخدام tmux أو تحسين مهاراتك: بدء استخدام tmux بواسطة Linuxize ، وفوائد استخدام tmux بواسطة Keegan Lowenstein ، ودليل بسيط لاستخدام tmux بواسطة Peter Jang.
