12 điểm bởi GN⁺ 2023-09-11 | 3 bình luận | Chia sẻ qua WhatsApp
  • Dùng làm reverse proxy, phục vụ static asset, chạy ứng dụng web, v.v.
  • Có thể chạy mã ứng dụng bằng nhiều ngôn ngữ khác nhau: Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • Nén nhiều lớp của stack ứng dụng hiện đại vào một giải pháp duy nhất, tập trung vào hiệu năng/độ trễ/khả năng mở rộng
  • Được thiết kế để hỗ trợ mọi kiến trúc web bất kể độ phức tạp, từ doanh nghiệp quy mô lớn đến trang chủ cá nhân
  • Hỗ trợ mở rộng ổn định ngay cả dưới tải ở cấp độ production
  • Có thể cập nhật động cấu hình mà không gián đoạn thông qua RESTful JSON API (cung cấp đặc tả OpenAPI)
  • Kiến trúc của NGINX Unit là bất đồng bộ/đa luồng, gồm nhiều tiến trình để tối đa hóa việc sử dụng các nền tảng điện toán hiện đại đồng thời đảm bảo bảo mật và độ vững chắc
  • Cung cấp các tùy chọn cài đặt nhanh cho macOS, Docker, Amazon Linux, Fedora, RedHat, Debian, Ubuntu

3 bình luận

 
GN⁺ 2023-09-11
Ý kiến trên Hacker News
  • Có báo cáo cho rằng khi dùng cùng PHP, Nginx Unit vượt trội hơn tổ hợp Nginx và php-fpm.
  • Khi chạy PHP qua Nginx Unit trong môi trường Docker, không còn cần các container riêng cho HTTP và FPM, nên trở nên tương tự mod_php của Apache.
  • Nginx Unit hỗ trợ nhiều ngôn ngữ, bao gồm ngôn ngữ biên dịch nhị phân, Go, JavaScript (Node.js), Java, Perl, PHP, Python, Ruby và WebAssembly.
  • Một số người dùng đặt câu hỏi về việc quá nhấn mạnh cấu hình qua API, và thích cấu hình app server bằng tệp để có trạng thái khởi động dễ dự đoán hơn.
  • Nginx Unit cho phép loại bỏ php-fpm khỏi stack, điều này hữu ích khi đóng gói ứng dụng PHP vào container.
  • Người dùng cho biết họ thấy cải thiện tốc độ đáng kể khi thử nghiệm các ứng dụng PHP Laravel phức tạp với Nginx Unit.
  • Nginx Unit cho phép chạy nhiều ứng dụng, mỗi ứng dụng dùng runtime/phiên bản ngôn ngữ khác nhau, mà không cần các container Docker riêng biệt.
  • Một số người dùng đề xuất Nginx nên có một trang giải thích Nginx Unit khác gì với Nginx và vì sao nó cần là một sản phẩm riêng.
  • Giao diện cấu hình của Nginx Unit phụ thuộc nhiều vào JSON, điều mà một số người dùng thấy khá phiền phức.
  • Dù mang nhãn "Universal", Nginx Unit không hỗ trợ C++, Rust hay ASP.NET, nhưng lại hỗ trợ Perl.
  • Một số người dùng vẫn đặt câu hỏi Nginx Unit có lợi thế gì so với Nginx tiêu chuẩn, cũng như về việc điều khiển JSON qua curl và hỗ trợ ngôn ngữ tích hợp sẵn.
  • Nginx Unit không kèm chứng chỉ TLS tự động; việc này vẫn phải thực hiện thủ công bằng Certbot.
 
xguru 2023-09-11
  • Khi dùng cùng PHP, Nginx Unit vượt trội hơn tổ hợp Nginx và php-fpm
  • Khi chạy PHP thông qua Nginx Unit trong môi trường Docker, không còn cần các container riêng cho http và fpm, nên trở nên tương tự mod_php của Apache

Hai điểm này khá thú vị.

 
galadbran 2023-09-11

Cách này cũng phù hợp hơn với khuyến nghị một container chỉ chạy một dịch vụ của Joker Container nên tôi từng thử, nhưng rồi đã bỏ cuộc vì có hạn chế là trong một ứng dụng không thể vừa chạy kiểu ứng dụng định tuyến như Laravel vừa phục vụ các file php đơn giản. Về cơ bản, tôi cũng cảm thấy độ dốc đường cong học tập khá cao.