tornado 多进程在ubuntu下通过bind启动,提示端口已占用

当前环境
Ubuntu:18.04

Python: 3.7.3

Tornado:6.0.2

根据CPU核数启动多进程
from tornado import ioloop
from tornado.web import Application
from tornado.httpserver import HTTPServer
 
from router import routers
from config import DEBUG, COOKIE_SECRET, HOST, PORT
 
 
app = Application(handlers=routers, debug=False, cookie_secret=COOKIE_SECRET)
server = HTTPServer(app)
server.bind(args.port or PORT, HOST)
server.start(num_processes=0)   # 根据CPU核数fork工作进程个数
ioloop.IOLoop.instance().start()
异常信息

原因
tornado server实例监听端口的方法有两种,bind和listen。

在Linux系统bind方法不起作用,需要使用listen;在macOS系统listen方法不起作用,需要使用bind。

上述监听端口代码需要改成: 

server.listen(args.port or PORT, HOST

你可能感兴趣的:(python)