簡體   English   中英

mod wsgi使用apache和python

[英]mod wsgi using apache and python

我已經使用mod_wsgi來創建一個可以在本地調用的Web服務器。 現在我發現我需要更改它,以便它通過Apache服務器運行。 我希望這樣做而不重寫我的整個腳本。

from wsgiref.simple_server import make_server



class FileUploadApp(object):
    firstcult = ""

    def __init__(self, root):
        self.root = root

    def __call__(self, environ, start_response):

        if environ['REQUEST_METHOD'] == 'POST':
            post = cgi.FieldStorage(
                fp=environ['wsgi.input'],

                environ=environ,
                keep_blank_values=True
            )

        body = u"""
            <html><body>

            <head><title>title</title></head>
            <h3>text</h3>
            <form enctype="multipart/form-data" action="http://localhost:8088" method="post">
            </body></html>
            """


        return self.__bodyreturn(environ, start_response,body)

    def __bodyreturn(self, environ, start_response,body):
        start_response(
                    '200 OK',
                    [
                        ('Content-type', 'text/html; charset=utf8'),
                        ('Content-Length', str(len(body))),
                    ]
                )        
        return [body.encode('utf8')]

def main():
    PORT = 8080
    print "port:", PORT
    ROOT = "/home/user/"
    httpd = make_server('', PORT, FileUploadApp(ROOT))
    print "Serving HTTP on port %s..."%(PORT)
    httpd.serve_forever() # Respond to requests until process is killed

if __name__ == "__main__":
    main()

我希望找到一種方法可以避免制作服務器並使我可以運行我的腳本的多個實例。

文件在:

解釋了mod_wsgi期望給出的內容。

如果您還閱讀:

您將了解可以構建WSGI應用程序入口點的各種方法。

由此您應該確定FileUploadApp符合所描述的定義WSGI應用程序的方法之一,因此您只需滿足mod_wsgi具有可作為“應用程序”訪問的WSGI應用程序對象的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM