tmux ช่วยคุณจัดการเซิร์ฟเวอร์ Cloudways ของคุณผ่าน SSH . ได้อย่างไร
เผยแพร่แล้ว: 2020-03-06
บทความนี้เป็นส่วนเสริมและขยายวิดีโอที่ฉันสร้างขึ้นโดยใช้ SSH และ tmux สำหรับจัดการเซิร์ฟเวอร์ Cloudways ของฉัน ในวิดีโอ คุณสามารถชมฉันใช้ tmux เพื่อจัดการการเชื่อมต่อ SSH กับเซิร์ฟเวอร์ Cloudways หลายเครื่อง และใช้เครื่องมือบรรทัดคำสั่ง htop เพื่อวิเคราะห์โหลดของเซิร์ฟเวอร์
คุณสามารถดูวิดีโอแบบเต็มได้ที่นี่:
เนื่องจากมีการสนทนานี้มากกว่าสิ่งที่ฉันกล่าวถึงในวิดีโอ ฉันต้องการเขียนบทความฟรีนี้และให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับสาเหตุที่ฉันใช้ tmux และเหตุใดฉันจึงใช้ SSH สำหรับการดูแลระบบเซิร์ฟเวอร์
เพื่อให้ข้อมูลพื้นฐานแก่คุณ ฉันไม่ใช่ผู้ดูแลระบบเซิร์ฟเวอร์โดยการฝึกอบรม ไม่ใช่แม้แต่นักพัฒนาเว็บที่ได้รับการฝึกอบรม ทุกสิ่งที่ฉันทำคือการเรียนรู้ด้วยตนเอง สำหรับฉัน การเรียนรู้โดยการทำเป็นแนวทางที่ฉันชอบที่สุดในการได้มาซึ่งทักษะหรือรับมือกับความท้าทายที่ฉันกำลังเผชิญอยู่ ฉันไม่ใช่เพื่อนของการศึกษาในระบบอีกต่อไป (ฉันลาออกจากปริญญาโทด้าน IT Security) แต่เชื่อในการเข้าร่วมกับเทคโนโลยีเพื่อให้เข้าใจถึงวิธีการทำงาน
โปรดระลึกถึงแนวทางนี้ขณะดูวิดีโอและอ่านบทความนี้ อย่างที่คุณเห็น ฉันได้แบ่งบทความออกเป็นสองส่วน แต่ละบทความอาจเป็นบทความที่ยาวมากหรืออาจเป็นหลายบทความด้วยตัวเอง แต่ฉันคิดว่าพวกเขาเข้ากันได้ดีในบริบทนี้
- การจัดการเซิร์ฟเวอร์ของคุณผ่าน SSH
- ทำไมคุณควรใช้บรรทัดคำสั่ง?
- ใช้กรณี: การดีบักเซิร์ฟเวอร์โหลดโดยใช้ htop
- กรณีการใช้งาน: การใช้ WP-CLI บนเซิร์ฟเวอร์ Cloudways
- ทำไมฉันถึงแนะนำ tmux?
การจัดการเซิร์ฟเวอร์ของคุณผ่าน SSH
ข้อดีอย่างหนึ่งของการใช้ Cloudways สำหรับโฮสติ้งคือคุณมีสิทธิ์เข้าถึงบรรทัดคำสั่งสำหรับเซิร์ฟเวอร์และแอปพลิเคชันของคุณ แม้ว่าจะไม่ใช่การเข้าถึงรูท แต่คุณสามารถทำสิ่งต่างๆ ได้มากมายบนบรรทัดคำสั่ง
จากมุมมองของฉัน มันสมเหตุสมผลที่ฉันจะไม่เข้าถึงรูทเซิร์ฟเวอร์ Cloudways ของฉัน ลองนึกภาพว่าการดูแลเซิร์ฟเวอร์ 20k จะเป็นอย่างไรหากผู้ดูแลเซิร์ฟเวอร์ทุกคนติดตั้งเครื่องมือและแพ็คเกจของตนเอง นั่นเป็นความสำเร็จที่เป็นไปไม่ได้ จากที่กล่าวมา Cloudways ทำให้เราสามารถเข้าถึง WP-CLI และเครื่องมือมาตรฐานอื่นๆ อีกมากมาย และนั่นก็เพียงพอแล้วที่จะใช้งานในการบำรุงรักษาเซิร์ฟเวอร์ของคุณและรับทราบข้อมูลว่าเซิร์ฟเวอร์กำลังทำอะไรอยู่
ฉันต้องใช้เวลาสักพักกว่าจะเข้าใจประโยชน์ของการจัดการเซิร์ฟเวอร์ของฉันผ่าน SSH แต่ตอนนี้ฉันไม่เห็นวิธีอื่นในการจัดการเรื่องนี้ เหตุผลหลักของฉันในการเข้าสู่บรรทัดคำสั่งคือ:
- ฉันไม่ต้องรอเว็บแอปพลิเคชันเพื่อโหลดเพื่อดูว่าฉันต้องการเห็นอะไร
- การเข้าสู่ระบบได้รับการจัดการผ่านคีย์ SSH ดังนั้นฉันจึงไม่ต้องป้อนรหัสผ่านโดยไม่จำเป็น
- ฉันสามารถให้เซสชัน SSH ทำงานต่อไปได้และไม่ต้องกังวลกับการลงชื่อเข้าใช้และออกจากระบบ
- ฉันมีสิทธิ์เข้าถึง WP-CLI และสามารถทำสิ่งต่างๆ ที่ไม่สามารถทำได้ในแดชบอร์ดผู้ดูแลระบบ WP ปกติ
- ฉันสามารถดำเนินการงานโดยอัตโนมัติโดยใช้งาน cron และสคริปต์
- ฉันไม่ต้องขยับมือออกจากแป้นพิมพ์เพื่อใช้เมาส์และทำให้พวกเขารู้สึกผ่อนคลาย
โปรดทราบว่าเป็นข้อกำหนดเบื้องต้น คุณควรติดตั้งไคลเอ็นต์ SSH บางรูปแบบ หากคุณใช้ Linux หรือ Mac คุณสามารถใช้แอปพลิเคชัน Terminal ที่ติดตั้งไว้ล่วงหน้าได้ง่ายๆ หากคุณเป็นผู้ใช้ Windows เช่นฉัน คุณสามารถติดตั้ง PuTTY หรือ ใช้ Bash ที่มาพร้อมกับ Windows Subsystem for Linux (ซึ่งเป็นสิ่งที่ฉันชอบ)
หากคุณไม่ต้องการติดตั้งซอฟต์แวร์เพิ่มเติม คุณสามารถ เปิดเทอร์มินัล SSH จาก Cloudways Console ได้ แต่นั่นไม่ใช่วิธีแก้ปัญหาที่ฉันแนะนำสำหรับการใช้งานทุกวัน อย่างที่คุณเห็น ความงามของการใช้อินเทอร์เฟซบรรทัดคำสั่งคือไม่ต้องลงชื่อเข้าใช้เว็บแอปพลิเคชันเช่น Cloudways Console
ทำไมคุณควรใช้บรรทัดคำสั่ง?
การใช้บรรทัดคำสั่งรู้สึกน่ากลัวมากในตอนแรก นั่นเป็นความจริงสำหรับการดูแลเซิร์ฟเวอร์เช่นเดียวกับการใช้บรรทัดคำสั่งบนพีซีหรือ Mac ในพื้นที่ของฉัน ความรู้ส่วนใหญ่ของฉันเกี่ยวกับบรรทัดคำสั่งมาจากบทช่วยสอนที่ฉันอ่านบนอินเทอร์เน็ตหรือเพื่อนของฉันที่ทำงานที่ Cisco ทั้งหมดคือการเรียนรู้จากการทำ
โดยเฉพาะอย่างยิ่งเมื่อกำหนดค่าเซิร์ฟเวอร์หรือบริการ เช่น เว็บเซิร์ฟเวอร์หรือแคชฝั่งเซิร์ฟเวอร์ มันง่ายที่จะทำลายสิ่งต่างๆ การไม่รู้ว่าฉันกำลังทำอะไรอยู่และไม่มีประสบการณ์ใดๆ กับการใช้เครื่องมือบรรทัดคำสั่งไม่ได้สร้างความมั่นใจให้ฉันในการลองจัดการเซิร์ฟเวอร์ของฉันผ่าน SSH
ในที่สุดฉันก็มีอาการเมาค้างและค้นพบประโยชน์ของการใช้บรรทัดคำสั่งโดยทำตามกฎสามข้อ:
- ทำทีละขั้นเสมอและพยายามทำความเข้าใจให้แน่ชัดว่าคุณกำลังทำอะไรในขั้นตอนนี้
- มีจุดคืนค่าหรือสำรองเสมอในกรณีที่คุณทำสิ่งต่าง ๆ เสียหาย
- ทดสอบในสภาพแวดล้อมที่ปลอดภัยเสมอและไม่เคยใช้เครื่องมือบรรทัดคำสั่งบนเว็บไซต์ที่ใช้งานจริงในครั้งแรก
ด้วยกฎเหล่านั้น ฉันรู้ว่าไม่มีอะไรผิดพลาดได้จริงๆ ฉันสร้างเวอร์ชันการแสดงละครของเว็บไซต์ที่ใช้งานจริงบน Cloudways โดยใช้ฟังก์ชัน " โคลน " และเพียงทำตามคำแนะนำในการเข้าสู่ระบบผ่าน SSH เมื่อเข้าสู่ระบบแล้ว ฉันเริ่มเล่นกับ WP-CLI และเครื่องมือการจัดการเซิร์ฟเวอร์อย่างง่ายอื่นๆ เช่น htop
หากคุณปฏิบัติตามแนวทางที่คล้ายคลึงกัน คุณควรอยู่ในตำแหน่งที่ดีในการเรียนรู้วิธีใช้บรรทัดคำสั่งอย่างปลอดภัย ช่วยให้มีพื้นฐานในการพัฒนาหรือไอที แต่ฉันไม่คิดว่าจำเป็น เพียงคิดถึงบรรทัดคำสั่งเพื่อโต้ตอบกับคอมพิวเตอร์ของคุณ เช่นเดียวกับที่คุณใช้เมาส์บนเดสก์ท็อป โดยเฉพาะอย่างยิ่งกับ WP-CLI คุณสามารถทำตามขั้นตอนแรกบนบรรทัดคำสั่งและดูผลลัพธ์บนแดชบอร์ด WP Admin ของคุณได้อย่างง่ายดาย
ใช้กรณี: การดีบักเซิร์ฟเวอร์โหลดโดยใช้ htop
ในวิดีโอ คุณจะเห็นว่าฉันใช้เครื่องมือ htop เพื่อวิเคราะห์การใช้ทรัพยากรเซิร์ฟเวอร์ htop เป็นเครื่องมือมาตรฐานที่ให้ข้อมูลเชิงลึกเกี่ยวกับสิ่งที่เกิดขึ้นบนเซิร์ฟเวอร์ของคุณในแบบเรียลไทม์ เนื่องจากบางครั้งข้อมูลการตรวจสอบแพลตฟอร์ม Cloudways มีความล่าช้าเล็กน้อย จึงเป็นประโยชน์อย่างยิ่งในการ เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ htop
เมื่อใดก็ตามที่บ็อต Cloudways แจ้งให้ฉันทราบว่าการใช้งาน CPU หรือ RAM เพิ่มขึ้น ฉันจะลงชื่อเข้าใช้เซิร์ฟเวอร์ที่เกี่ยวข้องผ่าน SSH และเรียกใช้ htop ภายในไม่กี่วินาที ฉันสามารถระบุกระบวนการและแอปพลิเคชันที่ใช้ทรัพยากรได้ สิ่งที่จะใช้เวลาหนึ่งหรือสองนาทีในการใช้แพลตฟอร์มเว็บ Cloudways เสร็จสิ้นภายใน 10-20 วินาที

นี่คือสิ่งที่ htop ดูเหมือนในทางปฏิบัติ:

กระบวนการดีบักคือการระบุแอปพลิเคชันที่ใช้ทรัพยากรเซิร์ฟเวอร์จำนวนมากผิดปกติผ่าน htop และตรวจสอบแอปพลิเคชันนั้นในรายละเอียดมากขึ้น หากคุณเห็นกระบวนการ PHP ของแอปพลิเคชันนั้นใช้ CPU หรือ RAM คุณรู้ว่าอาจมีบางสิ่งที่เกี่ยวข้องกับปลั๊กอิน WP หรือธีมของคุณ มักเป็นกรณีที่กระบวนการที่กำหนดเวลาไว้ผ่าน WP-Cron ซ้อนกันและตอนนี้จะถูกดำเนินการทั้งหมดในคราวเดียว ซึ่งทำให้เซิร์ฟเวอร์ของคุณทำงานหนักเกินไป
หากคุณเห็นกระบวนการของ MySQL หรือ MariaDB กินทรัพยากรของเซิร์ฟเวอร์ แสดงว่าคุณไม่จำเป็นต้องดูปลั๊กอินหรือธีมแต่ต้องดูในฐานข้อมูล ฉันเคยเห็นฐานข้อมูลสูญเสียดัชนี และทำให้การสืบค้น SQL ทำงานช้ามาก อาจใช้เวลานานในการระบุสาเหตุของปัญหา หากคุณไม่ทราบว่าปัญหาคือ PHP หรือ MySQL
อย่างที่คุณจินตนาการได้ นี่เป็นเพียงส่วนเล็กสุดของภูเขาน้ำแข็งที่ htop สามารถทำได้ นี่คือรายการ ตัวอย่าง htop ที่ใช้งานได้จริง ซึ่งจะนำตัวอย่างของฉันไปสู่ระดับถัดไป
กรณีการใช้งาน: การใช้ WP-CLI บนเซิร์ฟเวอร์ Cloudways
การรู้วิธีใช้ WP-CLI สามารถเป็นตัวเปลี่ยนเกมอย่างแท้จริงสำหรับแนวทางการพัฒนาประจำวันของคุณ ติดตั้ง vanilla WP โดยไม่ต้องขยับเมาส์? ไม่มีปัญหา. กำลังลบทรานเซียนท์ทั้งหมดด้วยการติดตั้งปลั๊กอินเพิ่มเติมหรือไม่ ง่าย. กำลังวิเคราะห์ว่าตะขอใดที่ทำให้เวลาในการโหลดเว็บไซต์ของคุณช้าลงมากที่สุด? คุณสามารถทำได้ด้วย 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 optimization และ wp db repair คุณสามารถทำให้ฐานข้อมูลของคุณทำงานได้เร็วขึ้นและทำให้กระบวนการทำงานเสถียร
2. สร้างธีมลูกภายในไม่กี่วินาที
ได้ คุณสามารถสร้างธีมลูกโดยการสร้างและอัปโหลดไดเร็กทอรีใหม่ด้วย style.css และ functions.php ตามลำดับลงใน wp-content/themes – แต่ทำไมต้องกังวลถ้าคุณสามารถเรียกใช้คำสั่งง่ายๆ ที่จัดการทุกอย่างให้กับคุณได้
ไม่ต้องดู 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 ด้วยตนเอง จะเกิดอะไรขึ้นถ้า WP-CLI สามารถสร้างข้อมูลจำลองจำนวนเท่าใดก็ได้ให้คุณด้วยคำสั่งง่ายๆ
ด้วยการรัน wp post generate –count=10 คุณสามารถสร้างโพสต์ตัวอย่างสิบรายการในไม่กี่วินาที ฟังก์ชันเดียวกันนี้ใช้ได้กับการสร้างเพจ ข้อมูลจำลองของ WooCommerce และยังให้คุณเพิ่มเนื้อหา lorem ipsum ลงในโพสต์ได้อีกด้วย
เพียงใช้ curl http://loripsum.net/api/4 | wp post generate –post_content –count=10 จะสร้าง 10 โพสต์โดยแต่ละโพสต์มีข้อความ Lorem Ipsum สี่ย่อหน้า
ทำไมฉันถึงแนะนำ tmux?
ฉันหวังว่าตัวอย่างที่ฉันให้ไว้ข้างต้นจะเพียงพอให้คุณรู้สึกตื่นเต้นกับการลองใช้ SSH เพื่อรักษาเซิร์ฟเวอร์ Cloudways ของคุณ ให้ฉันนำบทความนี้ไปอีกเล็กน้อยและพูดคุยเกี่ยวกับสาเหตุที่ฉันใช้ tmux เพื่อจัดการเซสชัน SSH ของฉัน
กล่าวโดยย่อ tmux ช่วยให้คุณจัดการเซสชันเทอร์มินัลหลายรายการพร้อมกัน ความหมาย เมื่อคุณทำบางสิ่งในเทอร์มินัลในขณะที่คุณอยู่ในเซสชัน tmux tmux จะติดตามสิ่งที่คุณกำลังทำอยู่ แม้ว่าคุณจะปิดเทอร์มินัลโดยไม่ได้ตั้งใจ เซสชันของคุณจะไม่สูญหาย คุณสามารถกลับไปยังจุดที่คุณค้างไว้ได้ด้วยคำสั่งเดียวและทำงานต่อไป
tmux ยังให้คุณเซสชันสคริปต์ ตัวอย่างเช่น หากคุณมีแนวโน้มที่จะรันคำสั่งเดียวกันสำหรับการตั้งค่าสภาพแวดล้อมการพัฒนาซ้ำแล้วซ้ำอีก คุณสามารถทำให้คำสั่งเหล่านั้นเป็นอัตโนมัติโดยใช้ tmux
พูดตามตรง ฉันไม่แน่ใจว่าฉันจะได้เรียนรู้ทุกสิ่งที่ tmux มีให้หรือไม่ เพียงเพราะมันมีมากมาย คล้ายกับ Google Spreadsheets หรือ MS Excel – เราทุกคนรู้ว่าเครื่องมือเหล่านี้มีประสิทธิภาพเพียงใด แต่อาจใช้ฟังก์ชัน 5% เป็นประจำทุกวัน อย่างไรก็ตาม ฉันรู้เพียงพอที่จะ ใช้ tmux ในการพัฒนา WordPress ประจำวันของฉัน
ดังที่คุณเห็นในวิดีโอ ฉันใช้ tmux เพื่อติดตามเซสชัน SSH ของฉัน นั่นช่วยฉันจากการลงชื่อเข้าใช้เซิร์ฟเวอร์ Cloudways ของฉันครั้งแล้วครั้งเล่า ฉันเพิ่งแนบอีกครั้งกับเซสชัน tmux ชื่อ "Cloudways" และทำงานบนเซิร์ฟเวอร์ของฉันต่อไป ไม่มีเวทย์มนตร์เกี่ยวข้อง แต่แม้การปรับแต่งเล็กน้อยนี้ช่วยประหยัดเวลาได้ทุกวัน ฉันทำเช่นเดียวกันกับ Raspberry Pi ส่วนตัวที่บ้าน (ฉันเป็นคนโง่ในบ้านอัจฉริยะในเวลาว่าง)
tmux นั้นเจ๋งเพราะช่วยให้คุณประหยัดเวลา ทำงานได้มากขึ้น และลดการเคลื่อนไหวของมือตลอดทั้งวัน ถ้าคุณเป็นเหมือนฉัน คุณจะมีอาการปวดข้อมือได้ง่ายๆ จากการเล่นคอมพิวเตอร์เป็นเวลานาน แม้จะใช้งานเมาส์ตามหลักสรีรศาสตร์ แต่ก็ไม่หายไปสำหรับฉัน สิ่งที่ใช้ได้ผลคือลดการเคลื่อนไหวที่ฉันทำด้วยมือของฉัน
การเปลี่ยนมือขวาจากแป้นพิมพ์เป็นเมาส์บ่อยครั้งรู้สึกเหมือนเป็นการหยุดชะงักในการไหล ฉันต้องคิดว่าจะวางมือขวาไว้ตรงไหน มีแรงที่ข้อมือเล็กน้อย และฉันก็ออกจากกระแสของการเขียนได้ ด้วย tmux คุณสามารถบรรลุผลงานที่แทบไม่ต้องใช้เมาส์เลยเมื่อคุณคุ้นเคยกับมันแล้ว
ฉันชอบที่จะดำดิ่งลึกลงไปใน tmux แต่นั่นอยู่นอกเหนือขอบเขตของบทความนี้ ฉันจะให้บทความสองสามบทความที่จะช่วยคุณในการเริ่มต้นใช้งาน tmux หรือพัฒนาทักษะของคุณ: การเริ่มต้นใช้งาน tmux โดย Linuxize ประโยชน์ของการใช้ tmux โดย Keegan Lowenstein และ คู่มือง่ายๆ ในการใช้ tmux โดย Peter Jang
