【问题标题】:Building remote server/api(?)构建远程服务器/api(?)
【发布时间】:2021-04-02 15:37:18
【问题描述】:

我正在尝试构建一个远程服务器(或 api?——有什么区别?),这样我基本上可以对有问题的 http(s):// url 执行获取请求并取回存储的 JSON 对象模型在那个网址。但是,每当我搜索“构建 RESTful API node.js”或“构建远程服务器 node.js”之类的内容时,我通常会得到一个类似 this 的教程,它似乎只告诉我如何构建一个在本地主机端口。

如果不清楚,我对 node 很陌生,所以如果这个问题是完全基本的,请原谅我:在构建远程服务器时,我基本上只是放了这样的东西

const modelJSON = require('path/from/root/of/remote/server/repo/to/model.json');

const express = require("express");
const bodyParser = require("body-parser");
const CORS = require("cors");

const app = express();

app.use(bodyParser.json());
app.use(CORS());

let modelObj = modelJSON;

app.get("/", (req, res) => {
  res.send(modelObj);
});

在 server.js 文件中,与相关模型(及其 shard.bin 文件...)一起存储在 Azure 或 AWS 中的远程存储库中吗?

【问题讨论】:

  • 每台计算机都有一个本地主机,而“服务器”只是另一台具有本地主机的计算机,它是一个静态 IP,可以将传入流量路由到它的本地主机......所以当你构建一个节点 API 时,你运行通常在 localhost 上,然后有类似 Nginx 或 Apache 的东西代理所有传入的请求到你的节点应用程序上的 localhost 上的一个端口。
  • 我很久以前写的对 http/2 的旧介绍显示了一个 nginx 配置,底部有一个节点代理。它还向您解释了在配置新服务器并拥有 ssh 访问权限后如何设置新服务器 gist.github.com/dominikwilkowski/…
  • “因此,当您构建节点 API 时,您通常会在 localhost 上运行它,然后让 Nginx 或 Apache 之类的东西代理所有传入请求到您的节点应用程序的 localhost 上的端口。” — 好的,所以 Nginx/Apache/(Heroku?) 将传入请求(get、post、put 等)重定向到服务器的给定端口,该端口(因为 node server.js 文件)被指示监听该端口端口,然后通过从也包含在该服务器上的文件(即与 server.js 文件包含在相同(在本例中为远程)目录中的文件/数据)中提供某些数据来响应。对吗?
  • 是的,但我不确定 Heroku 等及其设置。我假设他们已经为您设置了所有内容,而您只需设置 package.json 中的部分或其他内容。我猜值得谷歌搜索

标签: node.js reactjs amazon-web-services azure


【解决方案1】:

服务器(或api?)的区别

1.作为接收Http请求和返回json数据,这两者是一样的。

2。区别在于您是在 paas 服务还是在 vm 机器中发布 Web 应用程序。

1. PaaS 服务

Azure App ServicesAmazon Web Services都是PaaS Services,如果我们在PaaS Services上托管我们的应用程序,我们就可以使用80443端口。(Http和Https em>)

在我们的代码中,我们通常使用process.env.PORT || 3000来监听http请求。当你的程序发布时,它会根据process.env.PORT读取环境变量并监听80/443端口。

2。虚拟机

我们可以设置一个自定义的监听端口(也意味着你可以创建更多的应用程序。),任何程序都可以安装在服务器上,并且可以被调用。比如可以调用office软件、ffmpeg等。

建议

如果你只需要一个应用,可以使用paas服务,它为webapps提供了更简单的维护接口,可以更好的管理web应用。而且收费低于VM。如果应用程序使用 .exe 文件,在 PaaS 服务中无法解决,建议使用 Container web 应用程序。如果你真的想使用VM Machine,可以根据实际需要进行选择。

【讨论】:

    猜你喜欢
    • 2021-10-25
    • 2019-01-20
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多