更改Cherrypy端口并重新启动Web服务器

时间:2011-08-31 09:08:59

标签: python webserver port cherrypy

python中有没有办法改变cherrypy正在使用的端口并强制重启web服务器(不是apache,cherrypy)?

2 个答案:

答案 0 :(得分:16)

看看cherrypy.process.servers。你可以尝试这样的事情:

import cherrypy
cherrypy.config.update({'server.socket_port': 8099})
cherrypy.engine.restart()

答案 1 :(得分:6)

如果您不想替换整个过程(这是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()调用只是重用它已有的主机/端口,而不是选择更改的配置。不过,我不确定这是否会不恰当地利用实现细节。