【问题标题】:How to host Node.Js server and PostgreSQL database from my computer?如何从我的计算机托管 Node.Js 服务器和 PostgreSQL 数据库?
【发布时间】:2016-10-09 09:19:28
【问题描述】:

我想在我的计算机上托管我自己的服务器和数据库,我不想按月支付服务费用。 我开发了一个 node.js 应用程序,它使用的是 postgresql 数据库。我有一个带有 Angular 应用程序的域,该应用程序需要使用来自服务器的数据。

谁能告诉我如何做到这一点以及哪个操作系统最好?

谢谢!

【问题讨论】:

  • 任何操作系统。您只需要获取一个静态 IP + 配置您的路由器以供公共访问。
  • 这通常是一个非常糟糕的主意,如果你不知道自己在做什么,你的家就会面临各种各样的问题(如果你问这个问题,你可能不知道) t)。有 免费 选项,例如 Heroku,请选择其中一个。
  • my post below 回答您的问题了吗?如果确实如此,那么您可以考虑accepting the answer,因为现在其他搜索此问题的人看到您的问题没有好的答案并且可能不会阅读。如果它没有回答您的问题,请评论缺少的内容。我正在浏览我的旧答案,如果它们不清楚,我想改进它们。谢谢

标签: node.js postgresql web-hosting host shared-hosting


【解决方案1】:

你只需要做一些事情就可以了。

  1. 首先,您的 Angular 应用需要能够连接到您的家庭服务器,因此它需要一个可从外部访问的静态 IP 地址、一个具有动态 DNS 的动态 IP,或者一个 VPN。
  2. 您的服务器需要正确支持 CORS,以便您的 Angular 应用程序能够与其连接。它将发送您的服务器需要正确处理的 OPTIONS 请求。
  3. 确保您的服务器始终处于开启状态、互联网连接可靠、电源可靠并且您的服务在重启时正确重启。
  4. 确保您的服务器始终使用最新的安全补丁、正确配置并且不使用任何不需要的软件和服务。

对于 (1),您有很多选择,这完全取决于您是否拥有静态或动态 IP 地址,是否可以从 Internet 访问等等,而您没有在答案中包含这些。

对于 (2),这取决于您为服务器端应用程序使用的 Node 框架,而您的问题中没有包含该框架。您需要使用一种特定于您使用的框架的方式来设置 CORS。

(3) 在家庭环境中很难,但它很重要,因为在任何停机时间,您的用户都将无法使用您的应用程序。

(4) 在家庭环境中至关重要,因为如果有人闯入您的服务器,他将可以访问您的家庭网络,这可能会产生与闯入数据中心不同的后果。

另一种选择是使用像 Digital Ocean 这样的廉价 VPS 提供商,您可以每月 5 美元(或使用 this link 免费获得 2 个月)获得服务器,这可能比设置自己的服务器更容易 - 对于您必须支付电费、管理硬件、监控连接等。

如果您选择 VPS,那么 (1) 我们会为您服务 - 您可以从世界各地获得您自己的静态 IP 地址,(3) 完全为您服务,(4) 操作相对容易,并且最大的问题是确保 CORS 可以正常工作 - 但在这里您可以将 API 托管在与前端相同的域上,然后您就完全不必担心 CORS。

如果您获得了 VPS,那么您可以从同一台服务器托管您的前端 Angular 应用程序,这样您甚至不必花费更多。

【讨论】:

  • 我过去尝试过所有的方法——云服务器、家庭服务器、共享主机和专用主机。最后我得出的结论是,如果您拥有真正的产品,那么花钱的最佳方式就是专用服务器。就这样,云托管的最大问题 - 当您选择更好的硬件/吞吐量时,成本会不成比例地增加。家庭服务器是个笑话,你最好使用共享主机。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 2020-07-26
  • 2021-08-24
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多