2011-03-11 20 views
5

Oluşturmak için basit bir webapp'ım var ve sadece mod_wsgi ile uğraşmaya başlıyorum. Uygulamanın olmadan çalışırneden wsgiref simple_server kullanıyor?

from wsgiref.simple_server import make_server 

def application(environ, start_response): 
    response_body = 'Hello World' 
    status = '200 OK' 

    response_headers = [('Content-Type', 'text/plain'), 
          ('Content-Length', str(len(response_body)))] 

    start_response(status, response_headers) 
    return [response_body] 

httpd = make_server('localhost', 8000, application) 
httpd.serve_forever() 

: Daha sonra uygulama wsgiref kullanarak WSGI sunucu, bazı varyasyon içerir Sonra

def application(environ,start_response): 
    response_body = 'Hello World' 
    status = '200 OK' 

    response_headers = [('Content-Type', 'text/plain'), 
         ('Content-Length', str(len(response_body)))] 

    start_response(status, response_headers) 
    return [response_body] 

: Çeşitli öğreticiler, ilk merhaba dünya uygulaması aşağıdaki gibi görünür sunucu, yani sunucu ne için?

cevap

7

Öğreticinin, mod_wsgi'nin kurulup çalışmadığını varsaydığını tahmin ediyorum. Bu şekilde komut dosyasını komut satırından çalıştırabilirsiniz ve Apache ile mod_wsgi'yi yüklemeniz gerekmeden test edebilmeniz için uygulamayı çalıştıran wsgiref sunucusunu başlatacaktır.

+0

hala mod_wsgi çalışıyorken kullanmaya devam etmek için herhangi bir sebep ... test ederken yarar sağlayabilir miyim? – jmilloy

+1

Peki, "wsgiref" ile komut satırından çalıştırırken pdb'de çalıştırmak daha kolay olabilir, ama bundan başka düşünmüyorum. Eğer 'wsgiref' başlangıç ​​kodunu bir' if __name__ == '__main __ ":' bloğuna koyarsanız, neden olursa olsun ikisi arasında kolayca geçiş yapabilmeniz gerekir. –

+0

wsgiref.simple_server'i üretimde de, yani Apache veya Nginx olmadan mı kullanmalıyız? – giga