12 คะแนน โดย GN⁺ 2023-09-11 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้เป็นรีเวิร์สพร็อกซี, ให้บริการสแตติกแอสเซ็ต และรันเว็บแอปได้
  • สามารถรันโค้ดแอปพลิเคชันได้หลายภาษา: Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • รวมหลายเลเยอร์ของแอปพลิเคชันสแตกสมัยใหม่ไว้ในโซลูชันเดียว โดยมุ่งเน้นที่ประสิทธิภาพ, latency และความสามารถในการขยายระบบ
  • ออกแบบมาเพื่อรองรับเว็บสถาปัตยกรรมทุกแบบไม่ว่าซับซ้อนเพียงใด รองรับตั้งแต่องค์กรขนาดใหญ่ไปจนถึงโฮมเพจส่วนตัว
  • รองรับการสเกลอย่างเสถียรแม้ภายใต้โหลดระดับโปรดักชัน
  • อัปเดตการตั้งค่าแบบไดนามิกได้โดยไม่สะดุดผ่าน RESTful JSON API (มีสเปก OpenAPI ให้)
  • สถาปัตยกรรมของ NGINX Unit เป็นแบบ asynchronous/multithreaded และประกอบด้วยหลายโปรเซส เพื่อเพิ่มการใช้ประโยชน์จากแพลตฟอร์มคอมพิวติ้งสมัยใหม่ให้สูงสุด พร้อมรับประกันความปลอดภัยและความทนทาน
  • มีตัวเลือกการติดตั้งแบบรวดเร็วสำหรับ macOS, Docker, Amazon Linux, Fedora, RedHat, Debian และ Ubuntu

3 ความคิดเห็น

 
GN⁺ 2023-09-11
ความคิดเห็นจาก Hacker News
  • มีรายงานว่าเมื่อใช้ร่วมกับ PHP แล้ว Nginx Unit ให้ประสิทธิภาพเหนือกว่าชุดผสมของ Nginx และ php-fpm
  • เมื่่อรัน PHP ผ่าน Nginx Unit ในสภาพแวดล้อม Docker ก็ไม่จำเป็นต้องมีคอนเทนเนอร์แยกสำหรับ http และ fpm อีกต่อไป ทำให้คล้ายกับ mod_php ของ Apache
  • Nginx Unit รองรับภาษาหลากหลาย รวมถึงภาษาแบบคอมไพล์เป็นไบนารี, Go, JavaScript (Node.js), Java, Perl, PHP, Python, Ruby และ WebAssembly
  • ผู้ใช้บางรายตั้งคำถามกับการเน้นการตั้งค่าผ่าน API และชอบตั้งค่าแอปเซิร์ฟเวอร์ผ่านไฟล์เพื่อให้มีสถานะเริ่มต้นที่คาดเดาได้
  • Nginx Unit ช่วยให้ตัด php-fpm ออกจากสแตกได้ ซึ่งเป็นประโยชน์เมื่อใส่แอป PHP ลงในคอนเทนเนอร์
  • ผู้ใช้รายงานว่าเห็นความเร็วเพิ่มขึ้นอย่างมากเมื่อทดสอบแอป PHP Laravel ที่ซับซ้อนกับ Nginx Unit
  • Nginx Unit ช่วยให้รันหลายแอปที่ใช้รันไทม์/เวอร์ชันภาษาต่างกันได้ โดยไม่ต้องใช้ Docker คอนเทนเนอร์แยก
  • ผู้ใช้บางรายเสนอว่า Nginx ควรมีหน้าที่อธิบายว่า Nginx Unit แตกต่างจาก Nginx อย่างไร และทำไมจึงควรเป็นผลิตภัณฑ์แยกต่างหาก
  • อินเทอร์เฟซการตั้งค่าของ Nginx Unit พึ่งพา JSON อย่างมาก ซึ่งผู้ใช้บางรายมองว่ายุ่งยาก
  • แม้จะติดป้ายว่า "Universal" แต่ Nginx Unit ไม่รองรับ C++, Rust หรือ ASP.NET แต่กลับรองรับ Perl
  • ผู้ใช้บางรายยังคงสงสัยว่า Nginx Unit มีข้อดีอะไรเหนือกว่า Nginx มาตรฐาน และตั้งคำถามกับการควบคุม JSON ผ่าน Curl รวมถึงการรองรับภาษาในตัว
  • Nginx Unit ไม่มีใบรับรอง TLS แบบอัตโนมัติรวมมาให้ และยังต้องทำแบบแมนนวลผ่าน Certbot
 
xguru 2023-09-11
  • เมื่อใช้ร่วมกับ PHP, NGINX Unit เหนือกว่าชุดผสานระหว่าง Nginx และ php-fpm
  • เมื่อรัน PHP ผ่าน NGINX Unit ในสภาพแวดล้อม Docker ก็ไม่จำเป็นต้องมีคอนเทนเนอร์แยกสำหรับ http และ fpm อีกต่อไป ทำให้มีลักษณะคล้ายกับ mod_php ของ Apache

สองส่วนนี้น่าสนใจดีครับ

 
galadbran 2023-09-11

แนวทางนี้ก็สอดคล้องกับหลักการที่ Joker Container แนะนำให้มีหนึ่งบริการต่อหนึ่งคอนเทนเนอร์มากกว่า เลยเคยลองใช้ดู แต่มีข้อจำกัดว่าภายในแอปเดียวกันไม่สามารถใช้ทั้งแอปแบบ routing อย่าง Laravel และการเสิร์ฟไฟล์ PHP แบบง่าย ๆ ร่วมกันได้ เลยเคยล้มเลิกไปครับ
โดยพื้นฐานแล้วก็รู้สึกว่า learning curve ค่อนข้างชันด้วยครับ