2009-01-31 12 views
8

Son zamanlarda adil bir dizi daha küçük wsgi uygulamaları yazıyorum ve dağıtılabilir, belirli uygulamayı çalıştırmak için önceden yapılandırılmış bir web sunucusu bulmak için arıyorum. Ben wsgi uygulamaları kadar hizmet verebilecek bükülmüş ve vaşak gibi şeyler olduğunu biliyorum, ama onlar benim için büyük bir işlevselliğe sahip değiller. Bu da, http dizisi üstbilgisini kullanarak büyük dosyaları "pseudostream" etme yeteneğidir. Bir wsgi sunucusuna (vişne veya benzerleri gibi) proxy yapabilen ve http kullanarak büyük dosyaları çalıştırabilen büyük platformların herhangi birinde bağımsız bir uygulama olarak dağıtılabilen bir BSD veya benzeri bir lisans altında bulunan bir web sunucusu var mı? aralık başlığıMinimal, Bağımsız, Dağıtılabilir, çapraz platform web sunucusu

cevap

3

Apache + mod_wsgi ile ilgili sorun nedir? Apache zaten çoklu platformdur; Genellikle yüklü (Windows dışında).

Ayrıca lighttpd'ye bakmak isteyebilirsiniz, WSGI ile çalışacak şekilde yapılandırılmasında bazı bloglar var. http://cleverdevil.org/computing/24/python-fastcgi-wsgi-and-lighttpd ve http://redmine.lighttpd.net/issues/show/1523

+0

Orada hiçbir şey gerçekten "Yanlış" apache, onun büyük bir sunucuyla, ama bir önceden yapılandırılmış halde, benim uygulamayla dağıtabilirsiniz şey arıyorum Böylece, herhangi bir platformdaki kutudan çıktığında (bunun muhtemelen her platform için ayrı bir "kutu" gerektireceğinin farkındayım, ama bu iyi). – user61000

5

Lighttpd'nin bir BSD lisansı vardır, böylece isterseniz paketleyebilmeniz gerekir.

Küçük uygulamalar için olduğunu söylüyorsunuz, bu yüzden küçük bir yerel sunucu tarafından sunulan küçük, yerel, tek kullanıcı web arabirimlerinin anlamı nedir? Bu durumda, herhangi bir python uygulaması çalışmalıdır. Sadece paketlemek için py2exe gibi bir şey kullanın (aslında, çok uzun zaman önce SO paketindeki python programlarıyla ilgili bir soru vardı).

Güncelleştirme, yeniden: aralık üstbilgisi: Varsayılan python http sunucusu, istediğiniz aralık üstbilgisini desteklemeyebilir, ancak kendi işleyicinizi yazmak oldukça kolay, veya mantığı yapmak için küçük bir wsgi uygulaması, özellikle de Yapmak bir dosya akışı. Çok fazla satır olmaz:

def stream_file(environ, start_response): 
    fp = open(base_dir + environ["PATH_INFO"]) 
    fp.seek(environ["HTTP_CONTENT_RANGE"]) # just an example 
    start_response("200 OK", (('Content-Type', "file/type"))) 
    return fp