2011-03-11 17 views
5

मेरे पास निर्माण करने के लिए एक सरल वेबपैप है, और मैं बस mod_wsgi के साथ गड़बड़ करना शुरू कर रहा हूं। , तबwsgiref simple_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] 

बाद में एप्लिकेशन wsgiref का उपयोग कर एक WSGI सर्वर, के कुछ बदलाव शामिल हैं:: विभिन्न ट्यूटोरियल में, पहली हैलो दुनिया एप्लिकेशन निम्नलिखित तरह दिखता है

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() 

एप्लिकेशन बिना काम करता है सर्वर, तो सर्वर के लिए क्या है?

उत्तर

7

मुझे लगता है कि ट्यूटोरियल मानता है कि आपके पास mod_wsgi सेट अप और चलाना नहीं है। इस तरह आप स्क्रिप्ट को कमांड लाइन से चला सकते हैं और यह wsgiref सर्वर को एप्लिकेशन चलाएगा ताकि आप अपाचे और mod_wsgi इंस्टॉल किए बिना इसका परीक्षण कर सकें।

+0

एक बार आपके पास mod_wsgi चलने के बाद भी इसका उपयोग करने के किसी भी कारण ... परीक्षण के दौरान शायद लाभ हो सकता है? – jmilloy

+1

ठीक है, इसे 'wsgiref' के साथ कमांड लाइन से चलाते समय इसे' pdb' में चलाने में आसान हो सकता है, लेकिन इसके अलावा मुझे ऐसा नहीं लगता है। यदि आप 'wsgiref' स्टार्टअप कोड को' if __name__ == "__main __" में डालते हैं: 'ब्लॉक, यदि आपको किसी भी कारण से आवश्यकता हो तो आप दोनों के बीच आसानी से स्विच करने में सक्षम होना चाहिए। –

+0

क्या हमें उत्पादन में wsgiref.simple_server का भी उपयोग करना चाहिए, यानी बिना किसी अपाचे या Nginx के? – giga