Có cách nào trong python thay đổi cổng cherrypy
đang sử dụng và buộc máy chủ web (không phải apache, cherrypy) khởi động lại không?Thay đổi Cổng Cherrypy và khởi động lại máy chủ web
7
A
Trả lời
15
Hãy xem cherrypy.process.servers. Bạn có thể thử một cái gì đó như thế này:
import cherrypy
cherrypy.config.update({'server.socket_port': 8099})
cherrypy.engine.restart()
4
Nếu bạn không muốn thay thế toàn bộ quá trình (đó là những gì cherrypy.engine.restart()
không), bạn có thể làm:
import cherrypy
cherrypy.engine.stop()
cherrypy.server.httpserver = None
cherrypy.config.update({'server.socket_port': 8099})
cherrypy.engine.start()
Thiết httpserver tới Không cần hoặc cuộc gọi cherrypy.engine.start()
sẽ chỉ sử dụng lại máy chủ/cổng mà nó đã có thay vì chọn cấu hình đã thay đổi. Tôi không chắc chắn nếu đó là không thích hợp tận dụng lợi thế của một chi tiết thực hiện, mặc dù.
Mặc dù tôi đồng ý rằng đây là câu trả lời chính xác, tôi thấy rằng chỉ cần cập nhật cấu hình và sau đó gọi lại trên máy chủ của tôi khiến nó bị 'kẹt' với thông báo: "Đang chờ chủ đề con chấm dứt ..." và "Đang chờ thread Thread-1". Không chắc tại sao điều này lại xảy ra. – user975326