ฉันเห็นจำนวนมากพูดคุยเกี่ยวกับการใช้ nginx กับวานิชและฉันไม่เข้าใจว่าทำไม ไม่เพียงพอหรือไม่
Nginx มี SSI, มี reverse proxy cache, มีน้ำหนักเบา, มี SSL, สามารถทำงานกับ cgi, fpm, เป็นต้น
วานิชมีสิ่งเดียวกัน แต่ไม่มี ssl และไม่สนับสนุน cgi
ฉันเห็นจำนวนมากพูดคุยเกี่ยวกับการใช้ nginx กับวานิชและฉันไม่เข้าใจว่าทำไม ไม่เพียงพอหรือไม่
Nginx มี SSI, มี reverse proxy cache, มีน้ำหนักเบา, มี SSL, สามารถทำงานกับ cgi, fpm, เป็นต้น
วานิชมีสิ่งเดียวกัน แต่ไม่มี ssl และไม่สนับสนุน cgi
คำตอบ:
ฉันพบว่าวานิช ~ 5% เร็วกว่าสำหรับไฟล์สแตติกขนาดเล็กกว่า nginx - วานิชหน้า apache หรือวานิชหน้าเว็บแอปเซิร์ฟเวอร์จะได้รับผลประโยชน์มาก แต่ต่อหน้า nginx ผลประโยชน์นั้นค่อนข้างเล็กน้อย (โดยเฉพาะกับค่าโสหุ้ยและความซับซ้อนที่เพิ่มเข้ามา)
ก่อนอื่นต้องชี้แจง: Nginx เป็นเว็บเซิร์ฟเวอร์ที่มีคุณสมบัติและความซับซ้อนทั้งหมดที่เกี่ยวข้อง นอกจากนี้ยังมีความสามารถในการแคช แต่นั่นไม่ใช่เป้าหมายการออกแบบหลัก
วานิชไม่ได้เป็นเว็บเซิร์ฟเวอร์ มันไม่สามารถเติมเต็มบทบาทนั้นได้ บทบาทคือการแคชเนื้อหาที่จัดทำโดยเซิร์ฟเวอร์อื่น หากจำเป็นสามารถแก้ไขคำขอหรือการตอบกลับได้
หาก nginx สามารถรองรับปริมาณการใช้งานของคุณได้แสดงว่าเพียงพอแล้ว หาก nginx ไม่สามารถติดตามได้วิธีหนึ่งในการเพิ่มความจุคือการวางแคชไว้ข้างหน้าและให้แคชจัดการกับคำร้องขอให้มากที่สุดเท่าที่จะทำได้
ตัวอย่างเช่นเราใช้ Apache เพื่อเรียกใช้เว็บไซต์ PHP ที่ค่อนข้างซับซ้อนจากกลุ่มของเว็บเซิร์ฟเวอร์ เมื่อเราเริ่มประสบปัญหาด้านความจุเราวางเซิร์ฟเวอร์วานิชคู่หนึ่งไว้หน้าคลัสเตอร์ Apache โฮสต์วานิชจัดการ 85% ของการร้องขอที่เข้ามาทั้งหมดโดยไม่ต้องรบกวนแบ็กเอนด์ Apache