在Python中,有没有一种方法可以更改
cherrypy
正在使用的端口并强制Web服务器(而不是Apache,cherrypy)重新启动?请看 cherrypy.process.servers。你可以尝试像这样做:
import cherrypy
cherrypy.config.update({'server.socket_port': 8099})
cherrypy.engine.restart()
如果您不想替换整个进程(这就是cherrypy.engine.restart()
所做的),您可以执行以下操作:
import cherrypy
cherrypy.engine.stop()
cherrypy.server.httpserver = None
cherrypy.config.update({'server.socket_port': 8099})
cherrypy.engine.start()
需要将httpserver设置为None,否则cherrypy.engine.start()
调用会重复使用它已经拥有的主机/端口,而不是采用修改后的配置。然而,我不确定这是否是不适当地利用了实现细节。