ประสบการณ์ของฉันกับ Plesk

ผมอยากแบ่งปันความประทับใจเกี่ยวกับความจำเป็นหรือความจำเป็นของแผงควบคุมสำหรับโครงการเว็บเซิร์ฟเวอร์เดี่ยวเชิงพาณิชย์กับแอดมินที่ทำงานนอกเวลาคนหนึ่ง เรื่องราวเริ่มต้นขึ้นเมื่อสองสามปีก่อน เมื่อเพื่อนของเพื่อนบางคนขอให้ผมดูแลการซื้อธุรกิจแห่งหนึ่ง ซึ่งก็คือเว็บไซต์ข่าว ในมุมมองทางเทคนิค ผมจำเป็นต้องทำความเข้าใจพื้นฐานว่าอะไรกำลังทำงานอยู่บนอะไร ตรวจสอบให้แน่ใจว่ารายละเอียดที่จำเป็นทั้งหมดถูกถ่ายโอนในรูปแบบและขอบเขตที่เหมาะสม และประเมินอย่างมีกลยุทธ์ว่าอะไรที่สามารถปรับปรุงได้

ประสบการณ์ของฉันกับ Plesk
ข้อตกลงเสร็จสิ้นแล้ว นักไวโอลินไม่จำเป็นอีกต่อไป จบสิ้นแล้ว จริงๆ แล้วไม่เลย

เว็บไซต์ดังกล่าวทำงานอยู่บนเครื่องเสมือน (VM) แบบ dual-core 4GB บน Linode โดยใช้ระบบปฏิบัติการที่เสถียร Debianเซิร์ฟเวอร์หมายเลข 5 ใช้งานมาแล้ว 400 วัน และมีรายการแพ็กเกจที่ไม่ได้อัปเดตยาวเหยียด เว็บพาร์ทใช้ CMS ที่ออกแบบเอง, nginx, PHP 5.3 FPM และ MySQL ที่ปรับแต่งโดย Percona โดยพื้นฐานแล้วมันใช้งานได้

ระหว่างที่คุยกับผม เจ้าของคนใหม่กำลังมองหาโปรแกรมเมอร์ที่จะมาช่วยพัฒนาโปรเจกต์ให้เป็นไปตามที่คาดหวัง เขาก็เจอโปรแกรมเมอร์คนหนึ่ง โปรแกรมเมอร์ประเมินปริมาณการใช้งานและตัดสินใจว่าเขามีพรสวรรค์ด้านการเพิ่มประสิทธิภาพและการจัดการต้นทุน เขาจึงย้ายเว็บไซต์ทั้งหมดไปยังบริการโฮสติ้งแบบแชร์ราคา 700 รูเบิลที่ดูแลโดย IS****er คนเดิมของเขา ไม่กี่วันต่อมา เจ้าของก็โทรมาอีกครั้งว่า "ทุกอย่างช้ามาก ดูเหมือนว่าเราจะพังแล้ว" ผมพยายามแก้ไขสถานการณ์ผ่านแผงควบคุม แต่หลังจากพยายามเปลี่ยนเวอร์ชัน PHP หรือตัวจัดการจาก fcgi เป็น fpm หลายครั้งแต่ไม่สำเร็จ ผมก็ยอมแพ้และเข้าไปยังเชลล์ ที่นั่น ผมพบว่ามีการเปิดใช้งานการดีบัก ซึ่งเปิดเผยรหัสผ่านสำหรับอินเทอร์เน็ตทั้งหมด 777 สำหรับบางโฟลเดอร์ ซึ่งตอนนั้นเต็มไปด้วยมัลแวร์ และเรื่องไร้สาระอื่นๆ ที่คล้ายกัน เจ้าของตระหนักและตัดสินใจว่าการประหยัดโฮสติ้ง การมีโปรแกรมเมอร์ และแอดมินที่คอยดูแลทุกอย่างอย่างใกล้ชิดนั้นไม่ถูกต้อง

เรากำลังย้ายไปใช้ RuVDS ซึ่งใกล้กว่า Linode ของสหราชอาณาจักรเล็กน้อย และถ้าเราต้องการเก็บข้อมูลส่วนตัวและอื่นๆ ไว้แบบกะทันหัน เราก็ไม่ต้องย้ายไปไหนอีกแล้ว เนื่องจากโครงการนี้มีแผนจะขยายใหญ่ขึ้น เราจึงได้ VM "สำหรับการเติบโต": 4 คอร์ หน่วยความจำ 8 GB และพื้นที่ดิสก์ 80 GB ไม่ใช่ว่าผมไม่รู้วิธีปรับแต่งการตั้งค่า nginx ด้วยตัวเอง ผมแค่ไม่มีความกระตือรือร้นที่จะทำงานกับโครงการนี้อย่างละเอียดถี่ถ้วน (ดูด้านบนเกี่ยวกับการทำงานนอกเวลา) ดังนั้น ผมจึงติดตั้ง Plesk (ขอข้ามรายละเอียดการติดตั้งตรงนี้ไป เพราะจริงๆ แล้วไม่มีอะไรเลย: รันโปรแกรมติดตั้ง ตั้งรหัสผ่านสำหรับผู้ดูแลระบบ ใส่คีย์ แค่นี้ก็เสร็จ) ตอนนั้นเป็นเวอร์ชัน 17.0 การตั้งค่าพื้นฐานทำงานได้ดีพอสมควรตั้งแต่แกะกล่อง มี fail2ban และ PHP และ nginx เวอร์ชันล่าสุดที่มีอยู่ 

บางทีผมควรหยุดสักครู่แล้วอธิบายเหตุผล เนื่องจากผมไม่ค่อยได้ทำงานแบบนี้ และไม่มีเครื่องมือหรือการตั้งค่าพิเศษใดๆ สำหรับทุกสถานการณ์ จึงเห็นได้ชัดว่าจำเป็นต้องมีระบบอัตโนมัติสำหรับพื้นฐานบางอย่าง ประการแรก เพื่อให้ทำงานได้อย่างรวดเร็ว ประการที่สอง เพื่อให้ปลอดภัย และประการที่สาม เพื่อให้มั่นใจว่าได้นำแนวปฏิบัติที่ดีที่สุดทั้งหมดไปใช้แล้ว

ดังนั้นผมจึงติดตั้งมัน ผมประหยัดเวลาไปได้พอสมควร และเว็บไซต์ก็รีสตาร์ทบนเซิร์ฟเวอร์ใหม่เกือบจะในทันที สิ่งที่เหลือก็คือการปรับแต่งการตั้งค่าของกล้ามเนื้อ จัดสรรหน่วยความจำครึ่งหนึ่ง เพิ่มจำนวนพูลบัฟเฟอร์ และกำหนดคอร์ครึ่งหนึ่งให้กับ nginx (Splash ไม่กระทบกับการตั้งค่าทั่วไป) จากนั้นก็ล็อกอินเข้าสู่เชลล์สองสามวันเพื่อดูสถิติของ mysqltuner อ้อ แล้วก็ผมซื้อ ImunifyAV แบบเสียเงินจากแค็ตตาล็อกส่วนขยายเพื่อกำจัดมัลแวร์ที่ถูกแทรกเข้าไป พวกเขาพบไฟล์ที่ติดไวรัสประมาณ 11000 ไฟล์ สิ่งที่แย่คือมีการแทรกโค้ดบางส่วนเข้าไปในไฟล์สแตติก ซึ่งการทำความสะอาดด้วยตนเองนั้นยุ่งยากมาก ผมลองใช้ ClamAV ก่อน แต่ปรากฏว่ามันไม่สามารถจัดการสิ่งเหล่านี้ได้ ในขณะที่ ImunifyAV จัดการได้ ยิ่งไปกว่านั้น ไฟล์ที่ทำความสะอาดแล้วยังคงใช้งานได้ ส่วนไฟล์ที่ติดมัลแวร์ก็จะถูกลบทิ้งไป

คำนวณง่ายๆ เลย: 50 ดอลลาร์ต่อเดือนสำหรับ VMware, 10 ดอลลาร์สำหรับ Plesk (จริงๆ แล้วน้อยกว่านั้น เพราะเราซื้อแบบครบปีพร้อมส่วนลดสองเดือน) และ 3 ดอลลาร์สำหรับโปรแกรมแอนตี้ไวรัส หรือคิดเป็นเงินจำนวนมากสำหรับเวลาที่ผมจะต้องเสียไปกับเซิร์ฟเวอร์ในช่วงแรกเพื่อทำความสะอาดปัญหาเหล่านี้ด้วยตนเอง เจ้าของค่อนข้างพอใจกับข้อตกลงนี้

ประสบการณ์ของฉันกับ Plesk
ระหว่างนั้น เราก็เจอโปรแกรมเมอร์คนใหม่ เราตกลงแบ่งหน้าที่กัน สร้างโดเมนย่อยสำหรับเวอร์ชันทดสอบ แล้วก็เริ่มทำงาน เขากำลังสร้างเว็บไซต์เวอร์ชันใหม่ใน Laravel ส่วนฉันก็คอยจับตาดู fail2ban อยู่

ประสบการณ์ของฉันกับ Plesk
ที่น่าสนใจคือกระแสคนที่อยากรู้อยากเห็นไม่เคยหยุดนิ่ง และรายการที่ถูกแบนมักจะมีที่อยู่ประมาณร้อยที่อยู่ ผลลัพธ์ที่น่าสนใจคือ โดยเฉพาะอย่างยิ่งเมื่อผมล็อกอินเข้าเชลล์ หน้าจอต้อนรับมักจะแสดงความพยายามล็อกอิน SSH ที่ไม่สำเร็จประมาณ 20000-30000 ครั้ง เมื่อเปิดใช้งาน fail2ban จะแสดงประมาณ 70 ครั้ง ความพยายามที่ลงทุนไปคือ 0 ครั้ง น่าเสียดายที่มีจุดบกพร่องเล็กน้อย โดยค่าเริ่มต้น WAF (modsecurity) จะ "เปิดใช้งานแบบกึ่ง": ในโหมดตรวจจับ นั่นคือ มันจะบันทึกกิจกรรมที่น่าสงสัยไว้ในบันทึก แต่ไม่ได้ดำเนินการใดๆ เลย และ fail2ban จะอ่านบันทึกทั้งหมดแบบสุ่มตามเจลที่เปิดใช้งาน และลบทุกอย่างที่เคลื่อนไหว ดังนั้นเราจึงแบนทีมงานบรรณาธิการไปครึ่งหนึ่ง :D เราต้องปิดการใช้งานเจลนี้และไวท์ลิสต์ที่อยู่ IP ที่จำเป็นเพื่อความน่าเชื่อถือ ความพยายามที่ลงทุนไปคือการคลิกเมาส์สองสามครั้งและฝึกอบรมบรรณาธิการให้ระบุที่อยู่ IP ของพวกเขา

ประสบการณ์ของฉันกับ Plesk
สิ่งที่โปรแกรมเมอร์ชอบทันทีคือความสามารถในการอัปโหลดฐานข้อมูลโดยตรงไปยังแผงควบคุมและการเข้าถึง phpMyAdmin อย่างรวดเร็ว

ประสบการณ์ของฉันกับ Plesk
สิ่งที่ผมชอบคือบันทึกและการสำรองข้อมูล บันทึกจะถูกเขียนและหมุนเวียนโดยอัตโนมัติทันทีที่แกะกล่อง การสำรองข้อมูลนั้นตั้งค่าได้ง่ายมาก ในช่วงเวลาที่ช้าที่สุด จะมีการสร้างข้อมูลสำรองเต็มขนาดประมาณ 10 GB และสร้างข้อมูลสำรองส่วนเพิ่มขนาด 200 MB ทุกวันเป็นเวลาหนึ่งสัปดาห์ การกู้คืนข้อมูลเป็นแบบละเอียด ลงลึกถึงไฟล์หรือฐานข้อมูลเฉพาะ หากคุณต้องการกู้คืนจากข้อมูลสำรองส่วนเพิ่ม คุณไม่จำเป็นต้องกังวลกับการสำรองข้อมูลทั้งหมดแล้วกู้คืนทั้งเชน เพราะ Plesk จัดการให้โดยอัตโนมัติ คุณสามารถอัปโหลดข้อมูลสำรองได้ทุกที่: ไปยัง FTP, Dropbox, S3 Bucket, Google Drive และอื่นๆ

ประสบการณ์ของฉันกับ Plesk
วันที่ G: ในที่สุดโปรแกรมเมอร์ก็สร้างเอนจินใหม่เสร็จ เราโหลดมันเข้าสู่การผลิต นำเข้าข้อมูลเก่า และนั่งลงเลือกสีรถมาเซราติคันต่อไปของเรา เรายังคงเลือกอยู่

ปัญหาแรกเริ่มเริ่มต้นขึ้น เว็บไซต์ใหม่นั้นหนักกว่าเว็บไซต์เก่าอย่างเห็นได้ชัด แต่ปัญหาที่แท้จริงคือพวกเขาใช้ Yandex.Zen เป็นเครื่องมือหนึ่งในการเพิ่มปริมาณการเข้าชม ซึ่งส่งผลให้มีผู้เข้าชมจำนวนมาก เว็บไซต์ล่มเมื่อมีการเชื่อมต่อพร้อมกัน 150 ครั้ง (ผมไม่ได้หมายถึง RPS เพราะเราไม่ได้วัดผล) พวกเขาเริ่มลองกดปุ่มและปรับแต่งปุ่มต่างๆ ในส่วนการตั้งค่า php_fpm:
 
ประสบการณ์ของฉันกับ Plesk
อุ๊ย! ตอนนี้มันรองรับการเชื่อมต่อแล้ว 500 ครั้ง พอผมใช้บัตรเครดิตกับเครื่องมือส่งเสริมการขาย คลื่นทราฟฟิกก็เพิ่มขึ้นเรื่อยๆ ก้าวสำคัญต่อไปคือการเชื่อมต่อพร้อมกัน 1000 ครั้ง ตรงนี้ผมต้องปรับแต่งโค้ดและตรวจสอบประสิทธิภาพ Splash ไม่ได้ช่วยอะไร แต่ก็ไม่ใช่สิ่งที่ผมคาดหวังไว้ ผมเปิดใช้งานบันทึกคิวรีแบบช้า เพิ่มดัชนีลงในฐานข้อมูล ลบคิวรีที่ไม่จำเป็นออกจากโค้ด และปรับแต่งการตั้งค่า MySQL อีกครั้งตามคำแนะนำของ mysqltuner

ความท้าทายใหม่ – การเชื่อมต่อ 2000 ครั้ง Plesk 17.8 เพิ่งเปิดตัว ซึ่งนอกจากนั้นยังเพิ่มการแคชของ nginx อีกด้วย เราได้อัปเดต (ง่ายอย่างน่าประหลาดใจ) เราลองแล้ว ใช้งานได้! แล้วเราก็เจอปัญหา: ฟีด Yandex.Zen ไม่ทำงาน เว็บไซต์ใช้งานได้ แต่ฟีดไม่ทำงาน ฟีดไม่ทำงาน ไม่มีทราฟฟิก บรรยากาศกำลังร้อนระอุขึ้น ภายใต้แรงกดดันจากสถานการณ์และการขาดจินตนาการ ผมจึงลอง strace nginx ทันทีและพบสิ่งที่ต้องการ ปรากฏว่าในบางจุด nginx โง่ๆ ได้แคชข้อผิดพลาด 500 แบบสุ่มเพื่อตอบสนองต่อ get feed.xml ของ Yandex เราแก้ไขโดยการเพิ่มข้อยกเว้นในการตั้งค่าแคช:

ประสบการณ์ของฉันกับ Plesk
เห็นได้ชัดว่าเจ้าของต้องการมากกว่านี้ และคลื่นกำลังเพิ่มขึ้นเรื่อยๆ ตอนนี้เราจัดการได้อยู่ แต่เราเริ่มทดลองใช้ memcached ตั้งแต่เนิ่นๆ เพราะ Laravel รองรับมันแทบจะตั้งแต่แรกแล้ว จริงๆ แล้วเราไม่อยากติดตั้ง memcached เองเพื่อเล่นๆ เลย เราจึงติดตั้ง Docker image ขึ้นมาเลย จากแดชบอร์ดเลย

ประสบการณ์ของฉันกับ Plesk
โอเค ฉันโกหก ฉันต้องเข้าไปในเชลล์และติดตั้งโมดูลผ่าน pecl ถูกต้องเลย คำแนะนำยังไม่มีรายงานเกี่ยวกับอัตราทรูพุตที่เพิ่มขึ้น ยังไม่มีการพุ่งขึ้นอย่างมีนัยสำคัญใดๆ เอนจินของเว็บไซต์เชื่อมต่อกับ localhost:11211 สถิติแสดงอยู่ แต่หน่วยความจำกำลังถูกใช้ไป ถ้าเราพอใจแล้ว เราจะรอดูว่าจะทำอย่างไรต่อไป เราจะปล่อยมันไว้แบบนั้น หรือติดตั้ง "ของจริง" ลงในระบบปฏิบัติการโดยตรง หรือเราจะลองใช้ Redis ด้วยวิธีเดียวกัน

จากนั้นฉันก็ต้องตั้งค่าจดหมายข่าวทางอีเมล ไม่ต้องใช้รีเลย์ แค่ยืนยันตัวตนผ่าน SMTP ฉันสร้างที่อยู่อีเมลขึ้นมา แล้วเราก็ใช้รายละเอียดในการส่งจดหมายข่าวผ่าน PHP

ประสบการณ์ของฉันกับ Plesk
Plesk Obsidian (18.0) เพิ่งเปิดตัว และเราได้อัปเดตโดยไม่ต้องกังวลใดๆ จากประสบการณ์ที่ผ่านมา ทุกอย่างราบรื่นดีมาก ไม่มีอะไรต้องรายงาน ข้อดีคืออินเทอร์เฟซได้รับการปรับปรุงอย่างมีนัยสำคัญ ทันสมัยขึ้น และใช้งานง่ายขึ้นในบางจุด การตรวจสอบขั้นสูงบน Grafana เป็นฟีเจอร์ที่ยอดเยี่ยม

ประสบการณ์ของฉันกับ Plesk
ฉันยังไม่ได้เจาะลึกรายละเอียดเท่าไหร่ แต่คุณสามารถตั้งค่าการแจ้งเตือนทางอีเมลสำหรับพารามิเตอร์ใดๆ ก็ได้ ถึงเจ้าของ 555

พูดถึงอินเทอร์เฟซแล้ว อินเทอร์เฟซตอบสนองได้ดีและทำงานได้ดีบนโทรศัพท์มาก ในช่วงแรกๆ ตอนที่เรากำลังพยายามหาการตั้งค่า PHP ที่เหมาะสมและเรื่องอื่นๆ อินเทอร์เฟซนี้ช่วยได้มากจริงๆ โดยเฉพาะอย่างยิ่งตอนที่โปรแกรมเมอร์กำลังเร่งทำงานอยู่ตอนห้าทุ่ม ส่วนผมกำลังเร่งทำงานอยู่ กำลังดื่มวอดก้าในห้องซาวน่าอยู่ และต้องรีบเปลี่ยนอะไรสักอย่างด่วน

ประสบการณ์ของฉันกับ Plesk
อ้อ อีกอย่าง คุณจะเห็นได้จากรูปว่า PHP Composer ปรากฏขึ้นมา เรายังไม่ได้ลองใช้งานมันเลย แต่สำหรับ Laravel มันช่วยประหยัดเวลาล็อกอินเชลล์ได้สองสามอัน และประหยัดเวลาในการติดตั้ง dependencies ได้ มีระบบที่คล้ายกันนี้สำหรับ Node.JS และ Ruby อยู่แล้ว

SSL นั้นใช้งานง่าย หากโดเมนถูกต้องตามที่คาดหวัง Let's Encrypt จะถูกติดตั้งในคลิกเดียว และอัปเดตโดเมน โดเมนย่อย และแม้แต่บริการอีเมลโดยอัตโนมัติ

ประสบการณ์ของฉันกับ Plesk
ปัจจุบัน Plesk เองค่อนข้างใช้งานง่ายและเสถียร อัปเดตตัวเองและระบบปฏิบัติการแบบเงียบๆ ใช้ทรัพยากรน้อย และทำงานได้อย่างราบรื่น ผมจำปัญหาที่ถือว่าเป็นข้อบกพร่องที่ชัดเจนของผลิตภัณฑ์ไม่ได้เลย แน่นอนว่ามีปัญหาอยู่บ้าง แต่อาจเกิดจากการตั้งค่าที่ไม่สมบูรณ์หรือปัญหาอื่นๆ ที่เกิดขึ้นระหว่างการใช้งาน ดังนั้นจึงไม่มีอะไรให้ติเลย โดยรวมแล้วประสบการณ์การใช้งาน Plesk ของผมถือว่าน่าพอใจ สิ่งที่มันไม่มี และสิ่งสำคัญที่ต้องเข้าใจคือ การจัดกลุ่มแบบต่างๆ ไม่มี LB ไม่มี HA คุณสามารถลองได้ แต่ความพยายามที่ต้องใช้จะสูงมาก ดังนั้นการทำสิ่งที่แตกต่างออกไปตั้งแต่เริ่มต้นจะดีกว่า

ผมคิดว่าเราสรุปได้นะครับ สำหรับสถานการณ์ที่ไม่มีแอดมิน หรือมีเพียงไม่กี่คน เมื่อค่าโฮสติ้งและเว็บไซต์ที่ใช้งานนั้นสูงกว่า 100 ดอลลาร์สหรัฐฯ เมื่อเรายังไม่ได้พูดถึงเซิร์ฟเวอร์ขนาดใหญ่ที่ใช้ร่วมกันกับเว็บไซต์ 1500 เว็บไซต์ เมื่อผู้ตัดสินใจต้องเผชิญกับทางเลือกระหว่างการจ้างแอดมินพาร์ทไทม์ ซื้อซอฟต์แวร์ และจ้างแอดมินแบบ "ครึ่งเวลา" หรือไม่จ้างเลย สิ่งเหล่านี้ก็สมเหตุสมผลอย่างแน่นอน ในมุมมองของแอดมินระยะไกลก็เหมือนกัน 10 ดอลลาร์สหรัฐฯ ต่อเดือนช่วยประหยัดเวลาและเพิ่มความยืดหยุ่นในการทำงานในระดับขนาดใหญ่มากоจำนวนที่มากขึ้น ยกตัวอย่างเช่น หากผมถูกขอร้องอย่างหนักให้ดูแลโปรเจกต์ที่คล้ายกันนี้ ผมยินดีจะย้ายมันไปที่ Plesk

ประสบการณ์ของฉันกับ Plesk

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster