sql - 如何为公共打开服务器端口,以便我可以访问本地托管的 NODEJS 服务器
问题描述
让事情变得简单编辑
我正在开发一个应用程序,有一个通过 MSSQL 服务器读取数据的 nodejs API,现在 API 正在 Localhost:3131/ 上运行,这意味着它只能在本地运行。我确实有一个始终在线的 Windows 服务器,我可以在该服务器上使用 pm2 和 API 文件来使事情变得活跃,但是如果我运行它,我怎样才能使我的服务器 IP 公开,以便我可以通过任何地方访问它。
我如何使我的服务器 IP 在线但安全!
解决方案
有很多方法可以实现您的愿望。如果您要在自己的网络/PC 上执行此操作,则可以将一种称为“端口转发”的传统方法用于正在开发的项目,但这仍然意味着您的 IP 将暴露给网络。
如今,虚拟专用服务器和专用服务器更常用于托管强大的应用程序。您需要首先运行一个可以托管您的 Web 文件的 Web 服务器,然后您可以链接您的 node.js 服务器和 sql 数据库。
有几个托管服务提供商是为 nodejs 应用程序构建的。您可以选择“非托管”和“托管”托管服务提供商。
托管提供商提供简化的“节点设备”解决方案。Node 和 NPM 已经为您设置好了,部署通常通过 git push 或类似方法完成。您对服务器的控制权将减少,但一切都会为您设置好。
有一些 nodejs 自己推荐的托管托管服务提供商。你可以在这里查看它们:
https://github.com/nodejs/node-v0.x-archive/wiki/Node-Hosting
一些受欢迎的包括:
- Heroku
- 亚马逊网络服务
- 应用雾
- 微软天青
- 红帽 OpenShift
在您的情况下,您使用的是 SQL 和 Node,因此 Heroku 实际上提供免费的 nodejs 托管,并为 MySQL 数据库提供免费的插件。唯一的缺点是您可以运行应用程序的持续时间(小时)是有限的。
为了降低成本,可能值得在虚拟专用服务器上执行此操作。或者,看看专门研究 Node.js 和 MySQL的NodeChef 。
希望这可以为您提供足够的信息来了解下一步要采取的步骤。
推荐阅读
- groovy - 如何将 groovyconsole 的输出保存在文件中?
- javascript - 如何将具有数据驱动下拉的行添加到 DataTable
- java - 如何使用 hibernate 和 spring @transactional 释放 blob?
- c# - ASP.NET MVC 未绑定
- javascript - 在继续之前等待来自异步函数的响应?
- ios - iOS 11.4 不绘制 CGImage
- java - 随机删除矩形时的数组越界异常
- git - 无法从 Windows 访问 GitHub
- git - 将 github 同名子存储库添加到父存储库
- c++ - 共享库中的 c++ 静态变量和更好的可见性