【问题标题】:How to make an api rest with a real url instead localhost如何使用真实的 url 而不是 localhost 使 api 休息
【发布时间】:2019-06-02 14:24:19
【问题描述】:

我是 MEAN 的新手,我想知道如何调用我的 api,但是使用真实的 url,我只使用了带有 localhost 的 api 端点,例如 localhost:3000/users/1。我在 aws 中购买了一个域作为域网关,但就像 mydomain.com/users/1 一样简单 ???。我问是因为我认为这并不容易。或者只是使用本地主机,因为每个设备都有自己的本地主机,所以集合在 mlab 中。我用它做一个应用程序是一个具有 ionic、angular、node、express 和 mongodb 的 Web 应用程序,我认为有必要使用lambdas 和 dynamo 如果导致我安装了域网关,但我只想要一个真正的域来进行 api 调用,这样我就可以从任何地方访问,然后从节点、mongo 等管理所有内容,而不是 lambdas、dynamo 等。只有一个端点可以是从任何地方访问。这个问题听起来有点傻,但我不知道这是如何工作的,因为我只是研究了很短的时间,人们告诉我将它指向 IP 地址或代理等,但我对此一无所知。另一件事,关于我只见过 mongoDB 的数据库,因此打开与 mlab 的连接将执行 mongodnodemon ./bin/www 以保持连接,但显然我想要一个始终倾听并具有开放式 mlab 并具有真实网址的应用程序,正如我所说。有人可以指导一下这应该如何工作吗?将不胜感激。 非常感谢

【问题讨论】:

    标签: node.js mongodb api proxy localhost


    【解决方案1】:

    你好伙伴这里是我在每次部署时遵循的几个步骤

    1. 从任何提供商处获取服务器,例如 aws 或 digital ocean。
    2. 因为它是一个 Angular + Node 项目在你的服务器上设置 Nginx 和 pm2 pm2 production-setupNginx Production setup!
    3. Nginx 用于 Angular 部署,pm2 用于 nodejs。
    4. 使用 utf 设置防火墙以允许所有 ip 或将某些 ip 列入白名单check step 4 here!
    5. 您现在将拥有一个运行良好的生产服务器

    【讨论】:

      【解决方案2】:

      所以你需要做一些事情。

      1. 域名(您拥有的)
      2. 运行您的应用程序的服务器(@stever resonse with Heroku 是一个好的开始)
      3. DNS 将 URL 指向服务器的 IP 或您最终托管应用程序的位置

      至于您与 mlab 的连接。为了保持连接处于活动状态,我的快速应用程序在早期使用这个 sn-p 来连接到数据库。

      mongoose.connect(process.env.DATABASE, { useNewUrlParser: true, useCreateIndex: true });
      mongoose.Promise = global.Promise;
      mongoose.connection.on('error', (err) => {
        console.error(`Oooops → ${err.message}`);
      });

      然后用我的所有模型分配全局承诺。

      const mongoose = require('mongoose');
      mongoose.Promise = global.Promise;

      【讨论】:

      • 请指出,在大多数情况下,域名注册商将免费托管您的 DNS 记录,您可以在此处更新域名指向的内容。
      【解决方案3】:

      一个好的第一步是 Heroku。他们有一个免费的托管级别,并且由于您正在构建 MEAN,您可能正在使用 Express - 他们使 Express 部署非常简单。设置帐户并下载 CLI 工具后,您可以从命令行创建一个应用程序,它将分配一个域名(或者您可以选择自己的域名)。将您的 express 服务器推送到 heroku master。您可以在设置应用程序时生成一个 mLab 连接作为资源。将 mLab 网址复制/粘贴到服务器中即可。

      不要忘记在启动脚本中将 nodemon 改回 node。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-24
        • 2014-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多