我正在运行一个地址为127.0.0.1:5000的web应用程序,并且正在使用Prometheus的python客户机库。我在他们的docs中使用示例中的start_http_server(8000)
来公开该端口上的度量。应用程序运行,但我得到[Errno 48] Address already in use
和本地主机:8000当我试着去打它的时候,我什么都不能连接。在
如果我不能从一个web应用程序启动两个服务器,那么我应该将哪个端口传递到start_http_server()
以公开度量标准?在
在我启动应用程序之前,两个端口上都没有运行任何内容。在
端口8000不需要运行web服务器就可以使用它。使用您的操作系统命令行查找正在使用端口的进程,然后终止它。如果一个服务正在运行,导致它再次生成,请禁用该进程。在
更简单的解决方案是使用另一个端口而不是8000。在
编辑:看起来像是普罗米修斯的一个bug。Github Issue
这主要是因为您正在端口8000上重新启动服务器。在
为了解决这个问题,我创建了一个函数,该函数将在确保前一个服务器或端口可以使用后创建服务器。在
你可以看一下https://github.com/prometheus/client_python/issues/155,这里处理的是相同的情况
其他一些进程正在利用端口(8000)。要终止在端口(8000)上运行的进程,只需找到进程的进程_id[pid]。在
这将显示在端口8000上运行的进程,如下所示:
^{pr2}$可以使用kill命令终止进程,如下所示:
重新检查是否使用相同的命令终止进程
stdout上应该什么都没有。在
相关问题 更多 >
编程相关推荐