2012-01-10 37 views
10

Gần đây tôi đã chuyển sang Django cho một ứng dụng web tôi đang phát triển và tôi đã làm theo hướng dẫn tại Heroku để tải ứng dụng Django chạy trên Heroku. Tôi có một môi trường ảo trong đó ứng dụng của tôi được phát triển và tôi sử dụng git để điều khiển phiên bản và đẩy vào Heroku. Liên kết ở trên cho thấy rằng tôi intall gunicorn:Lợi ích của việc cài đặt gunicorn cho ứng dụng django của tôi trên heroku là gì?

Các ví dụ ở trên đã sử dụng máy chủ HTTP mặc định cho Django. Đối với các ứng dụng sản xuất , bạn có thể muốn sử dụng máy chủ web được nhúng sẵn sàng sản xuất hơn , chẳng hạn như Tornado, máy chủ WSGI của Gevent hoặc Gunicorn.

Sau đó, họ sẽ hướng dẫn người dùng thông qua cài đặt Gunicorn.

Câu hỏi của tôi là: tôi có thể gặp phải vấn đề gì nếu tôi bỏ qua bước này và chỉ ở lại với mặc định? Gunicorn sẽ mang lại lợi ích gì cho tôi?

Trả lời

12

Gunicorn là sản phẩm sẵn sàng và thực sự dễ sử dụng. Tôi sử dụng nó cho các trang web của tôi. Bạn thường nên chạy nó thông qua một proxy ngược như Nginx. Tôi không chắc Heroku đang sử dụng cái gì. Bạn thực sự nên thử nó.

Theo kinh nghiệm của tôi, việc sử dụng và định cấu hình dễ dàng hơn apache & mod_wsgi và các thiết lập tương tự khác.

chỉnh sửa/cập nhật: Là một bản tóm tắt các ý kiến ​​dưới đây, Heroku đã sử dụng Nginx như một reverse proxy máy chủ

+1

Bất kỳ cơ hội nào bạn có thể giải thích ngắn gọn về "proxy ngược" được sử dụng để làm gì? Những nguy hiểm nếu tôi không sử dụng Nginx là gì? – Deonomo

+0

Tôi đang đọc về nó tại: http://en.wikipedia.org/wiki/Reverse_proxy – Deonomo

+0

[bài đăng trên blog] này (http://ericholscher.com/blog/2010/aug/16/lessons-learned- dash-easy-django-deploy /) là nơi tôi đã học về gunicorn và nginx và bị lôi cuốn. Proxy ngược lại bảo vệ bạn khỏi một số loại tấn công từ chối dịch vụ và nginx cũng có thể được sử dụng để lưu trữ các tệp tĩnh một cách hiệu quả. Khi bạn đặt một số ip và cổng trong bạn cấu hình gunicorn, nó là IP được chỉ định của bạn hoặc một ip nội bộ (127.0.0.1)? Heroku có thể đang thực hiện một số loại proxy. Tôi không có ý tưởng làm thế nào nó hoạt động –

7

Hiệu suất tốt hơn nhiều, và có thể bảo mật và ổn định tốt hơn. Máy chủ web phát triển của Django (được sử dụng bởi Heroku theo mặc định) không thực sự được thiết kế để phục vụ cho các ứng dụng sản xuất.

+0

Cảm ơn. Tôi sẽ cố gắng thiết lập ứng dụng của mình để chạy gunicorn, trong trường hợp đó. Tôi hy vọng điều này không yêu cầu tôi phải trả tiền cho cô ấy, bởi vì tôi vẫn đang ở giai đoạn phát triển ban đầu. – Deonomo

+0

@Deonomo Không, bạn không phải trả tiền khi sử dụng Gunicorn – chhantyal

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