如何在WSGI服务器上使用动态/临时服务器侦听套接字?

2024-10-02 00:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想部署一个Python应用程序,这样就可以在127.0.0.1/::1上启动一个内部web服务器,无论当时哪个端口是空闲的。然后,它应该启动一个指向本地adhocweb服务器的URL的web浏览器。你知道吗

我现在的问题是:是否有任何wsgiweb服务器允许动态地将它们绑定到一个空闲端口,然后让程序可以选择端口号?或者我可以自己创建一个监听套接字,然后将其交给WSGI服务器使用吗?你知道吗


Tags: 端口程序服务器web应用程序urlwsgi部署
1条回答
网友
1楼 · 发布于 2024-10-02 00:19:47

使用^{}

import wsgiref.simple_server
your_app = wsgiref.simple_server.demo_app
server = wsgiref.simple_server.make_server('127.0.0.1', 0, your_app)
_, port = server.server_address
# start the browser, perhaps on a separate thread after a delay
server.serve_forever()

使用Cheroot:可能有一种更简单的方法,但这种方法很有效:

import threading, time, cheroot.wsgi
server = cheroot.wsgi.Server(('127.0.0.1', 0), your_app)
def get_port():
    while not server.ready:
        time.sleep(0.1)
    _, port = server.bind_addr
    # start the browser
threading.Thread(target=get_port).start()
server.start()

相关问题 更多 >

    热门问题