【问题标题】:mod wsgi using apache and python使用 apache 和 python 修改 wsgi
【发布时间】:2013-11-12 06:39:44
【问题描述】:

我已经使用 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()

我希望找到一种方法来避免制作服务器并使运行我的脚本的多个实例成为可能。

【问题讨论】:

    标签: python apache mod-wsgi


    【解决方案1】:

    文档位于:

    解释 mod_wsgi 期望得到什么。

    如果您还阅读:

    您将了解构建 WSGI 应用程序入口点的各种方式。

    从中您应该确定 FileUploadApp 符合定义 WSGI 应用程序的描述方法之一,因此您只需要满足 mod_wsgi 对 WSGI 应用程序对象可作为“应用程序”访问的要求。

    【讨论】:

    • 谢谢你,帮了我:)
    猜你喜欢
    • 2011-10-07
    • 2017-04-18
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多