Tôi muốn đưa điều này vào một bình luận vì tôi đồng ý với điểm quan trọng nhất của câu trả lời webdestroyas, nhưng nó đã hơi lâu.
Bạn đang ở trong môi trường VPS, điều này có nghĩa là rất có thể bạn sẽ bị thiếu RAM. Vì lý do này một mình, bạn sẽ muốn Nginx vì dung lượng bộ nhớ của nó nhỏ hơn Apaches.
Ngoài ra tôi không đồng ý với một số đối số được đề cập.
Tính dễ dàng của Cấu hình:
Nginx không khó hơn Apache. Nó khác nhau. Nếu bạn đã quen với Apache thì việc thay đổi sẽ luôn khó khăn hơn, điều đó không có nghĩa là bản thân kiểu cấu hình khó hơn. Tôi đã di chuyển hoàn toàn từ Apache sang Nginx hơn một năm trước và hôm nay tôi sẽ phải vật lộn để cấu hình một máy chủ Apache trong khi tôi thấy Nginx rất dễ cấu hình.
Đối với Ruby:
Nginx có Hành khách, tuy nhiên, tôi thường thấy nó được mô tả là phương thức kém hơn để kết nối với Ruby. Tôi không phải là lập trình viên Ruby nên tôi không thể xác minh điều này nhưng tôi thường thấy Unicorn và Thin được đề cập là những lựa chọn thay thế tốt hơn.
Kết luận:
Nginx đã được tạo thành một proxy ngược. Ban đầu, tất cả những gì nó làm là phục vụ các tệp tĩnh và proxy ngược cho máy chủ phụ trợ thông qua HTTP / 1.0. Kể từ đó fastcgi, cân bằng tải và nhiều tính năng khác đã được thêm vào, nhưng mục đích thiết kế ban đầu của nó là phục vụ các tệp tĩnh và proxy ngược. Và nó làm điều này thực sự tốt.
Apache, trái lại là một máy chủ web có mục đích chung. Tôi không nghi ngờ rằng nó có thể đảo ngược proxy hoàn toàn tốt, nhưng nó không được thiết kế để có dung lượng bộ nhớ tối thiểu và kết quả là nó đòi hỏi nhiều tài nguyên hơn Nginx, điều đó có nghĩa là đối số môi trường VPS ban đầu của tôi xuất hiện.