Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HTTP服务器可用于多个请求_Python_Httpserver - Fatal编程技术网

Python HTTP服务器可用于多个请求

Python HTTP服务器可用于多个请求,python,httpserver,Python,Httpserver,我已经对BaseHTTPServer做了很多研究,发现它对于多个请求不是很好。我看了这篇文章 我想知道为多个请求构建HTTP服务器的最佳方法是什么 -> 我对HTTP服务器的要求很简单- -支持多个请求,其中每个请求可能运行一个较长的Python脚本 到目前为止,我有以下选择-> -带线程的BaseHTTPServer不好 -Mod_-Python-Apache集成 -樱桃味? -任何其他?事实上,标准python库提供的HTTP服务器仅用于轻型使用;对于中等规模的100%并发连接,apach

我已经对BaseHTTPServer做了很多研究,发现它对于多个请求不是很好。我看了这篇文章

我想知道为多个请求构建HTTP服务器的最佳方法是什么 ->

我对HTTP服务器的要求很简单- -支持多个请求,其中每个请求可能运行一个较长的Python脚本

到目前为止,我有以下选择-> -带线程的BaseHTTPServer不好 -Mod_-Python-Apache集成 -樱桃味?
-任何其他?

事实上,标准python库提供的HTTP服务器仅用于轻型使用;对于中等规模的100%并发连接,apache中的mod_wsgi是一个不错的选择


如果您需要的并发连接超过10000个,那么您需要考虑异步框架,例如Twisted或Tornado。异步应用程序的一般结构是完全不同的,因此,如果您认为可能需要沿着这条路线走下去,那么您肯定应该从一开始就在其中一个框架中启动您的项目;对于中等规模的100%并发连接,apache中的mod_wsgi是一个不错的选择


如果您需要的并发连接超过10000个,那么您需要考虑异步框架,例如Twisted或Tornado。异步应用程序的一般结构是完全不同的,因此,如果您认为可能需要走这条路,那么您肯定应该从一开始就在这些框架中启动您的项目

CherryPy web服务器是最古老、最可靠的纯Python web服务器之一。只需将应用程序编写为可调用的WSGI,就可以在CherryPy的多线程服务器下轻松运行


CherrypyWeb服务器是最古老、最可靠的纯Python web服务器之一,我很幸运。只需将应用程序编写为可调用的WSGI,就可以在CherryPy的多线程服务器下轻松运行

是FriendFeed/Facebook开发的一款非常好用的异步事件循环/Web服务器。我个人在这方面有很好的经验。您可以使用以下示例中的HTTP类,也可以仅使用io循环来多路复用普通TCP连接

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()
是FriendFeed/Facebook开发的一款非常好用的异步事件循环/Web服务器。我个人在这方面有很好的经验。您可以使用以下示例中的HTTP类,也可以仅使用io循环来多路复用普通TCP连接

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()