Bạn nên xem xét điểm mạnh của từng loại và quyết định sử dụng một trong hai hoặc cả hai tùy thuộc vào trường hợp sử dụng của bạn ..
Trong khi, có vẻ như nginx thực hiện mọi thứ mà mongrel2 cung cấp trên bề mặt, bạn sẽ thấy có sự khác biệt lớn về tiêu điểm giữa hai điều này.
Nginx tỏa sáng như một máy chủ web front-end, có thể ủy quyền các yêu cầu tới máy chủ web / máy chủ ứng dụng phụ trợ của bạn và cũng phục vụ nội dung tĩnh.
Mongrel2 là một thay đổi nhỏ trong ngăn xếp. Như đã đề cập, sức mạnh của nó đến từ việc nó sử dụng zeromq làm lớp truyền tải giữa nó và các máy chủ ứng dụng phụ trợ. Nó có thể cung cấp các url yêu cầu động (yêu cầu ứng dụng) và hướng phần tính toán của nhiệm vụ ra các phần phụ trợ khác nhau bằng cách sử dụng zeromq .. mongrel2 cho phép bạn phân phối không chỉ http, websockets, v.v. ) tất cả từ cùng một máy chủ. người dùng sẽ không bao giờ biết rằng các phần của ứng dụng đang được phân phát từ các phần phụ trợ khác nhau.
Nếu yêu cầu của bạn đối với chức năng của ứng dụng web của bạn liên tục thay đổi hoặc bạn muốn thêm những thứ như phát trực tuyến, khả năng viết mã bằng các ngôn ngữ khác nhau trong back end, v.v., thì tôi chắc chắn sẽ xem xét mongrel2. Hoặc thậm chí có một kết hợp trong đó bạn sử dụng nginx / haproxy / varnish cho các tệp tĩnh và bộ nhớ đệm, và mọi thứ khác đều được chuyển hướng đến mongrel2.