首页 > 解决方案 > 将文件从一台服务器发布到另一台服务器

问题描述

我有一个 Apache 服务器 A 设置,当前托管一个条形图的网页(使用 Chart.js)。当前每隔几秒钟从本地 SQLite 数据库中提取此数据,并更新 Web 图表。

我现在想在 Raspberry Pi 上使用单独的服务器 B 将数据发送到服务器以用于图表,而不是使用服务器 A 上的数据库。

因此,一台服务器将文件发送到另一台服务器,该服务器以某种方式意识到这一点并接受并处理它。

数据既可以发送并放入当前的 SQLite 数据库,也可以绕过数据库,直接从 Pi 发送的信息中更新图表。

我遇到过 HTTP Post 请求,但不确定这是否是我需要的或如何实现它。

我已经设法让 Pi 简单地托管一个 json 文件(可从外部 IP 地址查看)并使用 Python 中的简单 requests.get('ip_address/json_file') 从中提取数据,但这看起来不像最强大或最安全的解决方案。

非常感谢我应该使用的任何帮助,谢谢!

标签: javascriptphppythonhtmlapache

解决方案


也许我不太明白你的要求,但这是我想象的解决方案:

  1. 您创建一个支持 WebSocket的前端,连接到服务器 A
  2. 服务器 B(在树莓上运行的服务器)向服务器 A 发送带有JSONPOST请求
  3. 服务器 A接受JSON并将其发送给所有使用 WebSocket 协议连接的客户端

服务器 B ---- > 服务器 A < ---- > 前端

这样您就不会直接暴露您的Raspberry,前端发出的每个请求都只会发送到Server A

为了提供更好的用户体验,您还可以在服务器 A 上创建一个 GET 端点来检索最新收到的 JSON,这样当用户第一次加载前端时,它会调用该端点,即使 Raspberry 尚未更新数据至少用户可以了解最新的可用数据。


推荐阅读