วิธีการใช้งานชุดค่าผสม Apache & Nginx ใน Timeweb
สำหรับหลายๆ บริษัท Nginx + Apache + PHP เป็นการผสมผสานที่ธรรมดาและธรรมดามาก และ Timeweb ก็ไม่มีข้อยกเว้น อย่างไรก็ตาม การทำความเข้าใจอย่างชัดเจนว่านำไปปฏิบัติอย่างไรนั้นน่าสนใจและมีประโยชน์
แน่นอนว่าการใช้ชุดค่าผสมดังกล่าวถูกกำหนดโดยความต้องการของลูกค้าของเรา ทั้ง Nginx และ Apache มีบทบาทพิเศษ โดยแต่ละฝ่ายสามารถแก้ไขปัญหาเฉพาะได้
การตั้งค่าพื้นฐาน อาปาเช่ ดำเนินการในไฟล์การกำหนดค่าของ Apache เอง และการตั้งค่าสำหรับไซต์ไคลเอ็นต์เกิดขึ้นผ่าน ไฟล์ .htaccess. .htaccess เป็นไฟล์กำหนดค่าที่ไคลเอนต์สามารถกำหนดค่ากฎและการทำงานของเว็บเซิร์ฟเวอร์ได้อย่างอิสระ การตั้งค่านี้จะใช้กับเว็บไซต์ของเขาโดยเฉพาะ ตัวอย่างเช่น ด้วยฟังก์ชันการทำงานของ Apache ผู้ใช้สามารถเปลี่ยนโหมดการทำงานภายในเวอร์ชัน PHP เดียวกันจาก mod_php เป็น mod_cgi; คุณสามารถตั้งค่าการเปลี่ยนเส้นทาง การเพิ่มประสิทธิภาพสำหรับ SEO URL ที่สะดวก ข้อจำกัดบางประการสำหรับ PHP
Nginx ใช้เป็นพร็อกซีเซิร์ฟเวอร์เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูลไปยัง Apache และเป็นเว็บเซิร์ฟเวอร์เพื่อแสดงเนื้อหาแบบคงที่ นอกจากนี้เรายังได้พัฒนาโมดูลความปลอดภัยสำหรับ Nginx ที่ช่วยให้เราสามารถปกป้องข้อมูลผู้ใช้ของเราได้ เช่น เพื่อแยกสิทธิ์การเข้าถึง
สมมติว่ามีผู้ใช้เยี่ยมชมเว็บไซต์ของลูกค้าของเรา ขั้นแรก ผู้ใช้จะเข้าสู่ Nginx ซึ่งให้บริการเนื้อหาแบบคงที่ มันเกิดขึ้นทันที จากนั้น เมื่อพูดถึงการโหลด PHP Nginx จะส่งต่อคำขอไปยัง Apache และ Apache ร่วมกับ PHP ได้สร้างเนื้อหาแบบไดนามิกแล้ว
คุณลักษณะของชุด Apache & Nginx ใน Timeweb
โฮสติ้งเสมือนของเราใช้ 2 รูปแบบการดำเนินงานหลักสำหรับ Apache และ Nginx: แบ่งปันและทุ่มเท.
โครงการที่ใช้ร่วมกัน
รูปแบบนี้ใช้สำหรับผู้ใช้ส่วนใหญ่ มีความโดดเด่นด้วยความเรียบง่ายและความเข้มข้นของทรัพยากร: โครงการที่ใช้ร่วมกันใช้ทรัพยากรน้อยลง ซึ่งเป็นเหตุผลว่าทำไมภาษีจึงถูกกว่า ตามรูปแบบนี้ เซิร์ฟเวอร์รันหนึ่ง Nginx ซึ่งช่วยให้สามารถตอบสนองคำขอของผู้ใช้ทั้งหมด และอินสแตนซ์ของ Apache หลายอินสแตนซ์
โครงการที่ใช้ร่วมกันได้รับการปรับปรุงมาเป็นเวลานาน: เราค่อย ๆ แก้ไขข้อบกพร่อง สะดวกสามารถทำได้โดยไม่ต้องแก้ไขซอร์สโค้ด
โครงการที่ใช้ร่วมกัน
โครงการเฉพาะ
Dedicated ต้องใช้ทรัพยากรมากขึ้น ดังนั้นภาษีจึงมีราคาแพงกว่าสำหรับลูกค้า ในรูปแบบเฉพาะ ลูกค้าแต่ละรายจะได้รับ Apache แยกต่างหาก ทรัพยากรที่นี่สงวนไว้สำหรับลูกค้า โดยจัดสรรไว้โดยเฉพาะ วิธีการทำงาน: มี PHP หลายเวอร์ชันบนเซิร์ฟเวอร์ เรารองรับเวอร์ชัน 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4 ดังนั้น PHP แต่ละเวอร์ชันจึงมีการเปิดตัว Apache ของตัวเอง
โครงการเฉพาะ
โซนปลอดภัย การตั้งค่าโซนใน Nginx
ก่อนหน้านี้ สำหรับ Nginx เราใช้โซน (โซน) หน่วยความจำที่ใช้ร่วมกันจำนวนมาก - หนึ่งบล็อกเซิร์ฟเวอร์ต่อโดเมน การตั้งค่านี้ต้องใช้ทรัพยากรจำนวนมาก เนื่องจากมีการสร้างโซนแยกต่างหากสำหรับแต่ละไซต์ อย่างไรก็ตาม ในการตั้งค่า Nginx ไซต์ส่วนใหญ่เป็นประเภทเดียวกัน จึงสามารถวางไว้ในโซนเดียวได้ด้วยการใช้คำสั่งแผนที่ในโมดูล ngx_http_map_moduleซึ่งช่วยให้คุณระบุการโต้ตอบได้ ตัวอย่างเช่น เรามีเทมเพลตโซนที่เราต้องระบุตัวแปร: เส้นทางไปยังไซต์ เวอร์ชัน PHP ผู้ใช้ ดังนั้นการอ่านการกำหนดค่า Nginx อีกครั้งซึ่งก็คือการโหลดซ้ำจึงถูกเร่งขึ้น
การกำหนดค่านี้ช่วยประหยัดทรัพยากร RAM ได้อย่างมากและเร่งความเร็ว Nginx
โหลดซ้ำจะไม่ทำงาน!
ในรูปแบบที่ใช้ร่วมกัน เราไม่จำเป็นต้องโหลด Apache ซ้ำเมื่อเปลี่ยนการตั้งค่าเว็บไซต์ ก่อนหน้านี้ เมื่อลูกค้ารายหนึ่งต้องการเพิ่มโดเมนหรือเปลี่ยนเวอร์ชัน PHP จำเป็นต้องมีการโหลด Apache ซ้ำ ซึ่งนำไปสู่ความล่าช้าในการตอบสนองและส่งผลเสียต่อประสิทธิภาพของไซต์
เรากำจัดการโหลดซ้ำโดยการสร้างการกำหนดค่าแบบไดนามิก ขอบคุณ
การกำหนดค่าสคีมาที่ใช้ร่วมกัน
แล้วด็อกเกอร์ล่ะ?
บริษัทหลายแห่งได้เปลี่ยนไปใช้ระบบที่ใช้คอนเทนเนอร์ ขณะนี้ Timeweb กำลังพิจารณาถึงความเป็นไปได้ของการเปลี่ยนแปลงดังกล่าว แน่นอนว่าทุกการตัดสินใจมีข้อดีและข้อเสีย
นอกจากข้อดีที่ปฏิเสธไม่ได้แล้ว ระบบคอนเทนเนอร์ยังให้ทรัพยากรแก่ผู้ใช้น้อยลงอีกด้วย ใน Timeweb ต้องขอบคุณรูปแบบการโฮสต์ที่อธิบายไว้ ผู้ใช้จึงไม่มีข้อจำกัดในด้าน RAM ได้รับทรัพยากรมากกว่าในคอนเทนเนอร์ นอกจากนี้ ผู้ใช้อาจโหลดโมดูล Apache มากกว่านี้
Timeweb ขับเคลื่อนเว็บไซต์ประมาณ 500 แห่ง เรามีความรับผิดชอบอย่างยิ่ง และไม่ทำการเปลี่ยนแปลงในทันทีและไม่ยุติธรรมกับสถาปัตยกรรมที่ซับซ้อน ชุดค่าผสม Apache & Nginx มีความน่าเชื่อถือและผ่านการทดสอบตามเวลา ในทางกลับกัน เราพยายามที่จะบรรลุประสิทธิภาพสูงสุดผ่านการกำหนดค่าที่เป็นเอกลักษณ์
เพื่อการทำงานที่รวดเร็วและคุณภาพสูงสำหรับไซต์จำนวนมาก คุณต้องใช้เทมเพลตและการกำหนดค่าแบบไดนามิกของ Apache และ Nginx ช่วยให้คุณสามารถจัดการเซิร์ฟเวอร์ที่คล้ายกันจำนวนมากได้อย่างง่ายดายและรวดเร็ว
ที่มา: will.com