gpt4 book ai didi

python - Flask + Tornado 应用程序 - 如何与服务器通信(连接被拒绝)

转载 作者:太空狗 更新时间:2023-10-30 00:18:49 25 4
gpt4 key购买 nike

我已按照在线文档安装 GNU health FHIR REST server .

我已经设法让 REST 服务器应用程序在我的服务器计算机上运行。 According to the documentation ,我的服务器应该可以使用以下端点:

List all patients (http://localhost:5000/Patient)
Show info for patient id #1 (http://localhost:5000/Patient/1)
List all patients with ana in name (http://localhost:5000/Patient?name=ana)

# etc ...

这是用于启动 Tornado 服务器的 Python 代码:

from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, options
from app import create_app
from config import ProductionConfig

define("port", default=5000, help="Port to listen on", type=int)
#app = create_app(config=ProductionConfig)
app = create_app() #DebugConfig
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(options.port)
IOLoop.instance().start()

我使用 curl 尝试询问服务器:

curl http://localhost:5000/Patient
curl: (7) Failed to connect to localhost port 5000: Connection refused

注意:我猜测(根据上面粘贴的代码)Tornado 服务器正在监听端口 5000。我修改了代码以打印出 `options.port 的值,但是由于某种原因,它没有打印到控制台;也无法将值记录到文件中(文件未写入,也没有给出错误消息)- 所以不确定发生了什么。

我用 lsof 仔细检查了哪些端口是打开的:

$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python2 23147 morpheous 4u IPv6 592698 0t0 TCP localhost:51950->localhost:8000 (ESTABLISHED)

我需要帮助来确定运行 Tornado 的端口,以便我可以使用 curl 查询 REST API。

最佳答案

如果权限问题或该端口上没有任何运行,连接将被拒绝。在你的情况下,我猜 5000 上没有运行任何东西。

请用这个命令检查

ss -ltp

您可能必须使用sudo 列出所有带有端口和用户的tcp 连接

(e.x) sudo ss -ltp

我的输出:

LISTEN 0 128 *:6379 : 用户:(("redis-server",pid=12325,fd=5))

注意:我只是在这里列出了我的列表的一个输出。

这只是告诉我 redis 正在 6379 端口上运行。

如果 Tornado 正在运行,它会在执行此命令时为您列出。

如果您在这方面遇到任何问题,请告诉我。

关于python - Flask + Tornado 应用程序 - 如何与服务器通信(连接被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com