2013-08-04 40 views
20

Tôi muốn triển khai một trang web django (đó là mã nguồn mở edx trên github).Apache + mod_wsgi vs nginx + gunicorn

Tôi đang phải đối mặt với việc lựa chọn giữa việc sử dụng

  1. Apache với mod_wsgi
  2. nginx với gunicorn

Tôi đã sử dụng Apache với mod_wsgi và nó mát mẻ đủ, nhưng tôi không có kinh nghiệm với Sự lựa chọn thứ hai.

Lựa chọn nào trong số này sẽ là lựa chọn tốt hơn về tốc độ và cũng ở một mức độ nào đó, dễ sử dụng?

NB: Tôi sẽ cần chạy hai trang web django khác nhau nói, cổng 80 và 81 và truy cập chúng từ hai tên miền phụ khác nhau.

+1

Apache với gunicorn. Máy chủ web của bạn phải là một proxy HTTP thuần túy và đơn giản, và không nên biết bất cứ điều gì về gunicorn - tất cả apache có là số cổng (proxy) đến proxy. Máy chủ ứng dụng của bạn hoàn toàn không biết gì về nhau hoặc chúng đang bừa bãi một proxy ngược HTTP. Apache trên nginx là hoàn toàn bởi vì mod_proxy_http có tài liệu, và nginx ... tốt, thẳng thắn, các tài liệu là shitty nơi họ tồn tại. Bất kỳ tài liệu bạn * làm * tìm thấy có lẽ đã lỗi thời. (Tôi thực sự không nhận được sự phổ biến.) – AdamKG

+0

Ồ, nhưng, đây là một cuộc gọi phán xét, tôi chỉ cần đóng câu hỏi, bạn sẽ không nhận được một câu trả lời thực sự mà không kích hoạt một cuộc chiến tranh ngọn lửa, tại thời điểm đó, câu hỏi sẽ đóng cửa. – AdamKG

Trả lời

16

Nginx là một thực sự nhẹ nhàng và dễ sử dụng giải pháp và cùng với gunicorn nó cho phép chúng ta chạy bất kỳ ứng dụng wsgi và quy mô nó một cách dễ dàng. Nginx xử lý yêu cầu tốt hơn vì nó không sinh ra một quy trình mới cho mọi yêu cầu không giống như Apache.

Tôi đã viết một câu trả lời về cách triển khai django với nginx cho một câu hỏi liên quan:

Deploying Django project with Gunicorn and nginx

0

Tôi có kinh nghiệm tốt với nginx và gunicorn. Họ tiếp tục làm việc tuyệt vời khi tôi cuối cùng đã thiết lập tất cả các cài đặt đúng và chạy nó.

Đối với nginx và gunicorn đó là:

* nginx configuration files (/etc/nginx/sites-enabled/ and /etc/nginx/nginx.conf) 
* gunicorn configuration files (/etc/init/gunicorn.conf and /etc/gunicorn.d/) 

Tôi đã nhìn thấy một hướng dẫn cho apache + mod_wsgi và nó dường như đơn giản hơn nhiều để thiết lập.