2012-02-16 33 views
7

Tôi đã là một nhà phát triển ứng dụng web java, và bây giờ tôi làm việc trên .net framework.sự khác biệt giữa apache/nginx/IIS

Khi tôi làm việc trên web java, chúng tôi sử dụng tomcat/jboss để triển khai ứng dụng của chúng tôi. Tôi nghĩ tomcat/jboss là máy chủ web.

Khi tôi làm việc trong asp.net, tôi sử dụng IIS để triển khai ứng dụng, sau đó tôi nghĩ IIS là một loại máy chủ web khác.

Những ngày này, tôi đang học đường ray, sau đó tôi nghe nginx. Từ google, nó cũng là một loại máy chủ web.

Tuy nhiên tôi thấy rằng một số người nói rằng chúng tôi có thể sử dụng nginx và IIS cùng nhau hoặc kết hợp khác.

Bây giờ, tôi bối rối, theo ý kiến ​​của tôi, một máy chủ web sẽ xử lý yêu cầu từ máy khách và trả lại kết quả.

Mỗi máy chủ web phải có sự phù hợp riêng, ví dụ: tomcat cho java, iis cho asp.net.

Nhưng tại sao apache/nginx?


BTW, tôi không có nghĩa là apache/nginx là vô dụng, tôi không quen với điều này.

Tôi tự hỏi liệu có ai đó có thể giải thích cho tôi không?

+0

Một hệ thống web thế giới thực, chẳng hạn như Cổng thông tin Amazon có thể bao gồm một số máy chủ web có vai trò khác nhau. Trong trường hợp này, phần mềm máy chủ web khác nhau có thể được sử dụng dựa trên đặc điểm của chúng. Ví dụ, nginx phù hợp với proxy ngược cho Apache hoặc IIS. –

Trả lời

11

Điều đầu tiên trước tiên: "máy chủ web" chỉ là một phần mềm phục vụ nội dung qua giao thức http (s). Đó là chức năng tối thiểu. Vì vậy, bạn đã ném xung quanh rất nhiều tính năng bổ sung ...

JBOSS/Tomcat không chỉ là "máy chủ web"; một tomcat cung cấp chức năng để có một ứng dụng java đáp ứng các yêu cầu gửi đến máy chủ đó, một JBOSS là nhiều hơn nữa, nó cung cấp các kỹ thuật đặc biệt "để triển khai" phần mềm của bạn vào môi trường sản xuất, và nhiều hơn nữa ...

Tất cả các sản phẩm này có chức năng "máy chủ web", nhưng chúng phân biệt với những gì xảy ra sau yêu cầu http, đó là những gì tạo ra "câu trả lời".

Để gây nhầm lẫn cho bạn nhiều hơn một chút, bạn có thể chạy ASP.NET trong máy chủ web apache (phải được mở rộng với các cơ sở để "thực thi mã .NET"). Và tất nhiên bạn có thể xây dựng vật liệu tổng hợp của tất cả các sản phẩm này, vì giao thức http có thể được sử dụng bởi proxy. Ví dụ, bạn có thể sử dụng máy chủ web apache làm điểm truy cập máy khách xác thực đối với một số cơ sở dữ liệu và sau đó chuyển tiếp các yêu cầu tới máy chủ IIS được tường lửa chỉ cho phép các kết nối từ apache. Vì vậy, bạn có thể thực hiện một xác thực (hoặc cân bằng tải) có thể không được hỗ trợ trên máy chủ của cửa sổ của bạn ...

Hy vọng rằng sẽ xóa một số điều ...

cướp

Các vấn đề liên quan