将文件从一台服务器发布到另一台

时间:2018-08-17 14:49:25

标签: javascript php python html apache

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

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

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

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

我遇到了HTTP Post请求,但是不确定这是我所需要的还是实现它的方法。

我已经设法让Pi简单地托管一个json文件(可从外部ip地址查看),并在Python中通过简单的request.get('ip_address / json_file')提取数据,但这没有实现。似乎是最可靠或最安全的解决方案。

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

1 个答案:

答案 0 :(得分:0)

也许我不太了解您的要求,但这是我想象中的解决方案:

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

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

这样,您就不会直接暴露 Raspberry ,并且前端发出的每个请求只会发送给服务器A

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