2012-01-10 7 views
10

Yakın zamanda geliştirdiğim bir web uygulaması için Django'ya geçtim ve Heroku üzerinde çalışan bir Django uygulaması almak için Heroku talimatlarını takip ettim. Uygulamamın geliştirildiği sanal bir ortamım var ve sürüm kontrolü için git ve Heroku'ya basıyorum. Yukarıdaki bağlantı, ben ingu tabancanın inatçı olduğumu gösterir:Django uygulamam için dinozor uygulamasında silahtan kurtulmanın yararı nedir?

Yukarıdaki örnekler Django için varsayılan HTTP sunucusunu kullanmıştır. üretim uygulamaları için, Tornado, gevent’in WSGI sunucusu veya Gunicorn gibi daha hazır hazır gömülü web sunucusu kullanmak isteyebilirsiniz. Daha sonra kullanıcı Gunicorn'u kurarak kullanıcılarla birlikte yürürler.

Sorum şu: Bu adımı atlayıp varsayılan olarak kalırsam hangi sorunları yaşayabilirim? Gunicorn bana ne gibi faydalar sağlayacaktır?

cevap

12

Gunicorn, kullanıma hazır ve kullanımı gerçekten çok kolay. Web sitelerim için kullanıyorum. Genellikle Nginx gibi bir ters proxy ile çalıştırmalısınız. Heroku'nun ne kullandığından emin değilim. Gerçekten denemelisin.

Deneyimlerim arasında, apache & mod_wsgi ve diğer benzer kurulumlardan çok daha kolay kullanımlı ve yapılandırılmış.

düzenleme/güncelleme: Aşağıdaki yorumların bir özeti olarak , Heroku zaten bir ters proxy olarak

+1

Bir "ters proxy" nin ne için kullanıldığını kısaca açıklayabilirsiniz? Nginx kullanmazsam tehlikeler nelerdir? – Deonomo

+0

Şu anda bu konuda okuyorum: http://en.wikipedia.org/wiki/Reverse_proxy – Deonomo

+0

bu [blog yayını] (http://ericholscher.com/blog/2010/aug/16/lessons-learned- dash-easy-django-deployment /) nerede silah ve nginx hakkında öğrendim ve çengel var. Ters proxy, sizi belirli hizmet reddi saldırılarından korur ve nginx de statik dosyaları çok etkin bir şekilde barındırmak için kullanılabilir. Tabanca konfigürasyonuna bir ip ve port numarası koyduğunuzda, atanmış IP'niz mi yoksa dahili bir ip mi (127.0.0.1)? Heroku, bir çeşit proxy yapıyor olabilir. Bunun nasıl çalıştığına dair hiçbir fikrim yok –

7

Çok daha iyi performans, ve muhtemelen daha iyi güvenlik ve kararlılık da. Django'nun geliştirme web sunucusu (varsayılan olarak Heroku tarafından kullanılır) üretim uygulamalarına hizmet etmek için tasarlanmamıştır.

+0

Teşekkürler. Uygulamamı, bu durumda tabanca avcısını çalıştırmak için kurmaya çalışacağım. Umarım bu, eroin ödemeye başlamamı gerektirmez, çünkü hala gelişimin ilk aşamalarındayım. – Deonomo

+0

@Deonomo Hayır, Gunicorn'u kullanmak için ödeme yapmak zorunda değilsiniz – chhantyal