Tornado Web服务器多进程启动的2个方法

一、Tornado简介

Tornado 是 FriendFeed 的 Web 服务器及其常用工具的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个理想框架。

二、多进程启动方法

正常启动方法:


server = HTTPServer(app)

server.listen(8888)

IOLoop.instance().start()

多进程、方案1:


server = HTTPServer(app)

server.bind(8888)

server.start(0)  # Forks multiple sub-processes

IOLoop.instance().start()

多进程、方案2:


sockets = tornado.netutil.bind_sockets(8888)

tornado.process.fork_processes(0)

server = HTTPServer(app)

server.add_sockets(sockets)

IOLoop.instance().start()