Tôi đang sử dụng nginx + fastcgi
(manage.py runfcgi ...) để sản xuất cho một số dự án Django của mình. Rất nhiều người đề nghị sử dụng nginx + gunicorn
. Lợi thế của việc sử dụng gunicorn thay vì sử dụng máy chủ fastcgi
của Django là gì?Đâu là bất lợi khi sử dụng máy chủ fastcgi của Django
Trả lời
Tôi chỉ nói lý do tại sao bạn cần phải sử dụng các máy chủ WSGI-like :) nhưng nếu bạn cảm thấy thoải mái với việc sử dụng fcgi - chỉ cần sử dụng nó
Câu trả lời ngắn: WSGI (như giao thức) là mát mẻ vì its native
Hoặc nếu "Bạn cần phải đi sâu hơn" (c)
Câu hỏi tiếp theo "Máy chủ FastCGI và WSGI giống như?"
Một số câu trả lời ở đây:
- Differences and uses between WSGI, CGI, FastCGI, and mod_python in regards to Python?
- What's the difference between scgi and wsgi?
- Is there a speed difference between WSGI and FCGI?
- How Python web frameworks, WSGI and CGI fit together
Về gunicorn, uWSGI và cherokee, nginx. Đừng trộn chúng!
nginx là máy chủ web có thể xử lý các yêu cầu http và có thể gửi nó tới chương trình phụ trợ của WSGI. (Nhưng trước hết nó cực kỳ nhanh để xử lý nội dung tĩnh.) Và chương trình phụ trợ WSGI xử lý ứng dụng django của bạn.
Về cherokee, tôi nghĩ rằng nó xử lý các nhiệm vụ giống như nginx nhưng tôi không làm việc với nó.
Và gunicorn, uWSGI là backend WSGI mà chạy đề với ứng dụng django và làm many other tasks
Và hmmm, gunicorn say rằng
Được một máy chủ mà chỉ chạy trên nền tảng Unix-like, kỳ lân được mạnh mẽ gắn với triết lý Unix làm một điều và (hy vọng) làm tốt. Mặc dù sử dụng HTTP, unicorn thực sự là một máy chủ ứng dụng phụ trợ để chạy các ứng dụng Ruby Rack-based.
Tôi luyện tập cho django tôi ứng dụng nginx (ổn định mới nhất từ nginx.org Repos) + uWSGI (từ chuồng Debian) - hoạt động hoàn hảo :)
sửa 18.05.2012
liên kết đến năm 2010 chủ đề với so sánh fcgi gunicorn uWSGI
fcgi (ren) 640 r/s
fcgi (prefork 4 bộ vi xử lý) 240 r/s (*)
gunicorn (2 công nhân) 1100 r/s
gunicorn (5 công nhân) 1300 r/s
gunicorn (10 wo rkers) 1200 r/s (?!?)
uwsgi (2 nhân) 1800 r/s
uwsgi (5 nhân viên) 2100 r/s
uwsgi (10 nhân viên) 2300 r/s
(* này làm máy tính của tôi đặc biệt chậm chạp như CPU khi qua mái nhà)
"FastCGI vs. WSGI" là câu hỏi sai. FastCGI là một giao thức mạng và WSGI là một quy ước gọi Python. [flup] (http://trac.saddi.com/flup) có cổng FastCGI-to-WSGI. Lệnh 'runfcgi' của Django thực sự dựa trên flup, và do đó sử dụng WSGI. Một câu hỏi hay hơn là flup so với uwsgi hoặc flup so với gunicorn. –
Bạn nói đúng về "FastCGI vs. WSGI". Thay đổi chủ đề thành WSGI. Và tôi nghĩ trận chiến 'flup vs. uwsgi vs. gunicorn' thắng uWSGI. Tôi sẽ cố gắng cung cấp một số bằng chứng sớm. – nk9
Vâng, ai "thắng" phụ thuộc vào tiêu chí của bạn là gì. Tôi đang lưu trữ một tá trang web có lưu lượng truy cập thấp, vì vậy việc bảo trì và sử dụng bộ nhớ trở nên quan trọng hơn * đối với tôi * so với hiệu suất thô (được chi phối bởi truy vấn cơ sở dữ liệu.) Uwsgi không được đóng gói trong debian squeeze (hiện tại ổn định) , trong khi flup và gunicorn là. –
như b1- nói, WSGI có nguồn gốc (hãy nhìn vào this post).
Ngoài ra, this post có một câu hỏi tương tự.
Từ quan điểm cá nhân của tôi, một thời gian trước tôi đã sử dụng Nginx + uwsg in vhost mode để chạy các dự án khác nhau trên máy chủ của tôi.
... và uWSGI có chế độ zerg^_ ^ – nk9
- 1. Điểm bất lợi khi sử dụng asp.net MVC là gì?
- 2. Sử dụng Django trừ máy chủ web
- 3. Một số lợi thế/bất lợi của việc sử dụng SQLDataReader là gì?
- 4. Có bất kỳ bất lợi nào khi sử dụng: văn bản/đồng bằng; charset = "UTF-8"
- 5. Tôi có thể tìm các bản ghi lỗi của nginx ở đâu, sử dụng fastcgi và django
- 6. Lỗi trong khi syncdb của django trên máy chủ
- 7. Chính xác là lợi ích của việc sử dụng Punjab
- 8. lợi thế, bất lợi và khó khăn khi viết một ngôn ngữ để sử dụng .NET
- 9. Khi không sử dụng vị trí máy chủ này khi sử dụng tomcat trong Eclipse
- 10. Bất lợi của trứng Python?
- 11. Sử dụng .htaccess với FastCGI
- 12. Lợi ích và bất lợi của việc sử dụng java rmi
- 13. những lợi thế và bất lợi của việc thực hiện cuộc gọi ajax bằng cách sử dụng jquery là gì?
- 14. Bất kỳ bất lợi nào khi sử dụng ExecuteReaderAsync từ C# AsyncCTP
- 15. Xoắn (máy chủ asynch) vs Django (hoặc bất kỳ khung công tác nào khác)
- 16. Triển khai Django (fastcgi, apache mod_wsgi, uwsgi, gunicorn)
- 17. Cách sử dụng Django với máy chủ web Tornado?
- 18. Những lợi thế khi sử dụng Qt là gì?
- 19. những lợi thế khi sử dụng scrapyd là gì?
- 20. Tệp machine.config nào là giải pháp của tôi khi sử dụng trên máy chủ?
- 21. Máy chủ socket.io tốt nhất để sử dụng với Django - gevent hoặc tornadio2 là gì?
- 22. Django + FastCGI - tăng ngẫu nhiên OperationalError
- 23. sử dụng dropbox làm máy chủ cho ứng dụng django của tôi
- 24. lợi thế của việc sử dụng giao diện là gì
- 25. Có bất kỳ bất lợi nào khi sử dụng IN trong các procs được lưu trữ của tôi không?
- 26. CMS hướng sự kiện - lợi thế và bất lợi
- 27. Bất lợi khi tạo lớp cho Serializable
- 28. Sử dụng máy chủ web tích hợp của Django trong môi trường sản xuất
- 29. Tại sao triển khai ứng dụng web dưới dạng FastCGI thay vì máy chủ web mới?
- 30. Triển khai Django trên máy chủ apache
Ngoài ra, hãy xem uwsgi. –
FastCGI Không được chấp nhận kể từ phiên bản 1.7: Hỗ trợ FastCGI không còn được dùng nữa và sẽ bị xóa trong Django 1.9., Vì vậy tôi khuyên bạn nên truy cập uWSGI. – ashish