ทำไม nginx เป็นเพื่อนสนิทของ WordPress Hosting

ในบทความก่อนหน้าของฉันฉันสำรวจว่าเหตุใด PHP7 จึงเป็นหนทางไปสู่ ​​WordPress และในบทความของวันนี้มันเป็นตาของเว็บเซิร์ฟเวอร์.


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

วันนี้ฉันจะอธิบาย: เว็บเซิร์ฟเวอร์คืออะไรอะไรที่คนนิยมมากที่สุดและทำไม nginx ถึงดีมาก!

เว็บเซิร์ฟเวอร์

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

เว็บเซิร์ฟเวอร์ที่พบมากที่สุดคือ Apache, IIS จาก Microsoft และแน่นอน Nginx.

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

ทำไม Apache และ nginx ถึงได้รับความนิยม? คำตอบง่ายๆคือเพราะพวกเขาเป็นโอเพ่นซอร์สและฟรี พวกเขาช่วยกันสร้างเกือบ 50% ของปริมาณการจราจรทั้งหมดในโลกไม่ใช่เรื่องง่าย!

Apache คืออะไร?

อาปาเช่ เซิร์ฟเวอร์ HTTP สร้างขึ้นโดย Robert McCool ในปี 1995 และยังอยู่ระหว่างการพัฒนาภายใต้มูลนิธิซอฟต์แวร์ Apache เว็บเซิร์ฟเวอร์นี้เป็นตัวเลือกที่ได้รับความนิยมมากที่สุดตั้งแต่ปี 1996 มันเป็นแบบแยกส่วนในการออกแบบมีเอกสารจำนวนมากและเป็นที่นิยมกันมากจนเป็นพื้นฐานสำหรับแผงควบคุมเว็บโฮสติ้งที่สำคัญทั้งหมด มันรวมอยู่ใน cPanel, แผงควบคุมที่ใช้มากที่สุดในโลก.

แน่นอนว่ามันยืดหยุ่นเป็นข้อแก้ตัวที่คนส่วนใหญ่ใช้มันจะเกิดขึ้นเมื่อถูกถามและโดยทั่วไปนั่นเป็นเรื่องจริง นอกจากนี้ยังสามารถขยายได้มากและเนื่องจากสามารถโหลดโมดูลแบบไดนามิก (บางสิ่งบางอย่าง nginx ยังคงทำงานอยู่) จึงสามารถกำหนดค่าได้อย่างง่ายดาย.

Apache สามารถจัดการเนื้อหาแบบคงที่และแบบไดนามิกทั้งหมดได้ด้วยตัวเองในผู้ปฏิบัติงานเดียวกันดังนั้นจึงสมบูรณ์แบบสำหรับความยืดหยุ่น แต่ (และมีอยู่เสมอ แต่) จะทำเช่นนั้นด้วยค่าใช้จ่ายของ ประสิทธิภาพ.

Apache เป็นที่รู้จักกันดีว่าค่อนข้างช้า แต่ก็ไม่มีอะไรใกล้เคียงที่จะเปิดเผยความจริงนี้เมื่อ nginx ได้รับความนิยม ความแตกต่างระหว่างประสิทธิภาพเป็นสิ่งที่ ไม่สามารถมองข้าม. สำหรับเรื่องนี้เพียงอย่างเดียว บริษัท ยักษ์ใหญ่ส่วนใหญ่จะเปลี่ยนไปใช้ nginx แม้ว่า Apache จะยังคงได้รับความนิยม แต่สิ่งต่าง ๆ จะเปลี่ยนไปในอนาคตเนื่องจากเทคโนโลยีได้รับการพัฒนาและมีซอฟต์แวร์มากขึ้นเรื่อย ๆ ซึ่งก่อนหน้านี้ใช้งานได้เฉพาะบน apache เริ่มรวม nginx.

สิ่งที่เกี่ยวกับ Nginx?

Nginx มาจากแม่รัสเซีย ในปี 2002 โปรแกรมเมอร์ชื่อ Igor Sysoev เริ่มทำงานกับ nginx เนื่องจากเขากังวลอย่างมากเกี่ยวกับปัญหา C10K อะไรนะ เพื่อให้ง่ายขึ้น ซ็อกเก็ตเครือข่าย เพื่อจัดการกับลูกค้าจำนวนมากในเวลาเดียวกันซึ่งเป็นข้อเสียเปรียบหลักของ Apache และความท้าทายที่แท้จริงสำหรับเว็บยุคใหม่ การเปิดตัว nginx เริ่มต้นนั้นเผยแพร่ในปี 2004 ตามสถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์.

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

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

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

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

ข้อเสียยังคงมีอยู่อย่างรวดเร็วโดยประสิทธิภาพที่ยอดเยี่ยม สิ่งนี้เองทำให้ nginx กลายเป็นตัวเลือกยอดนิยมสำหรับการโฮสต์แบบเน้นประสิทธิภาพและเป็นพื้นฐานของการบริการที่ใช้กันอย่างแพร่หลาย ไอน้ำ, การพิสูจน์ครั้งแล้วครั้งเล่าว่าสามารถทำคะแนนสูงกว่า Apache ในทุก ๆ ทางอย่างสม่ำเสมอ.

ทำไม Nginx เป็นตัวเลือกที่ต้องการสำหรับ WordPress Hosting?

มีหลายจุดที่ nginx นั้นดีกว่า Apache สำหรับการโฮสต์ไซต์ WordPress ฉันจะพยายามสรุปสิ่งนี้ลงในรายการต่อไปนี้.

ติดตั้งง่าย

Nginx เป็นแพคเกจที่สมบูรณ์มันต้องใช้โมดูลภายนอกน้อยมากในการทำงานและส่วนใหญ่ใช้เวลาเพียงหนึ่งบรรทัดใน linux เพื่อเปิดใช้งาน.

apt-get install nginx

ยำติดตั้ง nginx

ทั้งหมดนี้ใช้เพื่อให้ nginx เปิดใช้งานเป็นบริการ ส่วนที่เหลืออยู่ในการกำหนดค่า.

สามารถทำงานเป็นพร็อกซีสำหรับ Apache หรือเว็บเซิร์ฟเวอร์อื่น ๆ

Nginx สามารถเพิ่มประสิทธิภาพการทำงานทันทีให้กับการกำหนดค่า Apache เว็บเซิร์ฟเวอร์ใด ๆ โดยใช้เป็นพร็อกซี่โดยไม่ส่งผลกระทบต่อการทำงานของเซิร์ฟเวอร์ในทางใดทางหนึ่ง.

สามารถทำงานโดยตรงกับ microcache หรือแม้กระทั่งแคช fastcgi

Nginx ขอบคุณมากที่สร้างขึ้นใน microcache และสามารถทำงานกับแคช fastcgi เพื่อเพิ่มความเร็วในการทำงานได้ถึง 10 เท่า Nginx ยังสามารถเพิ่มประสิทธิภาพได้อย่างมากเมื่อทำงานกับแคช fastcgi และไม่จำเป็นต้องใช้ภายนอก กลไกการแคชเช่น memcache.

มันรวดเร็วอย่างไม่น่าเชื่อสำหรับการแสดงเนื้อหา

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

การเชื่อมต่อพร้อมกันมากกว่า Apache เกือบ 4 เท่า

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

  • เว็บไซต์ของคุณจะเร็วขึ้นโดยรวม
  • คุณจะต้องใช้ทรัพยากรน้อยกว่า Apache เพื่อทำมัน.

นี่เป็นเพราะธรรมชาติที่ขับเคลื่อนด้วยเหตุการณ์ของ nginx และเป็นประโยชน์ต่อไป.

น้ำหนักเบามาก

Nginx ได้รับการออกแบบมาอย่างดีเพื่อให้มีน้ำหนักเบาอย่างไม่น่าเชื่อเกี่ยวกับทรัพยากร ซึ่งหมายความว่ามันจะใช้ เวลา CPU น้อยลง เพื่อดำเนินการตามคำขอการเชื่อมต่อแต่ละรายการและจะดำเนินการโดยใช้ หน่วยความจำน้อยมาก. วิธีนี้จะทำให้คุณสามารถโฮสต์ไซต์ที่ใหญ่กว่าโดยใช้เซิร์ฟเวอร์เดียวกับที่ไม่เคยทำใน Apache.

ความลับของความสำเร็จคือในเครื่องยนต์ Nginx ทำงานเป็นกิจกรรมที่เรียกเว็บเซิร์ฟเวอร์ซึ่งหมายความว่ามันจะฟัง“ เหตุการณ์” ต่อผู้ปฏิบัติงานและจะตอบกลับเมื่อจำเป็นเท่านั้น ตามความต้องการ อาร์กิวเมนต์ภายใน nginx อนุญาตให้บริการวางไข่และลบผู้ฟังตามต้องการ สิ่งนี้จะช่วยลดการใช้หน่วยความจำและเพิ่มประสิทธิภาพ Apache พยายามรวมโหมดกิจกรรมในผู้ปฏิบัติงาน mpm แต่มันล้มเหลวอย่างน่าสังเวชในการจับคู่ความเร็ว nginx เนื่องจาก Apache ไม่ได้สร้างเป็นเว็บเซิร์ฟเวอร์ที่ขับเคลื่อนด้วยเหตุการณ์.

สามารถทำโหลดบาลานซ์ได้

Nginx สามารถกำหนดค่าให้กับ load balance ได้ดังนั้นการเพิ่มอัตราการเชื่อมต่อพร้อมกันมากขึ้นโดยการกระจายโหลดระหว่างเซิร์ฟเวอร์หลายเครื่องทำให้เหมาะสำหรับโครงการที่มีภาระการเชื่อมต่อพร้อมกันสูงมาก.

ทั้งหมดนี้หมายความว่าอย่างไร?

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

บริษัท โฮสติ้งคุณภาพสูงเช่น WP Engine และ Flywheel ทำงานบน nginx แล้ว แต่ถ้าคุณจะไปกับ บริษัท โฮสติ้งที่แตกต่างกันทำวิจัยของคุณหรือถามฝ่ายสนับสนุนด้านเทคนิคว่า webserver stack ประกอบด้วย nginx หรือไม่ ฉันรับประกันได้เลยว่าถ้าบริการมีคุณภาพก็จะมี nginx รวมอยู่ในสแต็กบางส่วน.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map