【问题标题】:Connect Node.js API to virtual machine on Microsoft Azure / Azure CLI将 Node.js API 连接到 Microsoft Azure / Azure CLI 上的虚拟机
【发布时间】:2021-06-24 13:17:23
【问题描述】:

目前,我正在开发一个作为资源托管在 Microsoft Azure 上的项目。该项目在虚拟机上呈现,并使用 Azure CLI 上的命令进行操作。 现在我被要求使用 Node.js 和 React.js 为它创建一个 Web 应用程序。我完全不知道如何将 Node.js API 连接到虚拟机。有没有办法通过 Node.js 应用程序触发这些 Azure CLI 命令。任何帮助将不胜感激!

编辑: 设法解决了这个问题。使用了这个 npm 包 'ssh-exec',它允许您在使用 IP 地址、用户名、密码连接后远程在虚拟机上执行命令。使用非常简单。

包链接 - https://www.npmjs.com/package/ssh-exec

【问题讨论】:

  • AjaykumarGhose-MT 提供的以下答案是否有帮助?如果可以,请接受答案作为解决方案。
  • @VenkateshDodda-MT 自己解决了这个问题。已在原帖中添加了我的解决方案。

标签: node.js azure


【解决方案1】:

设法解决了这个问题。使用了这个 npm 包 'ssh-exec',它允许您在使用 IP 地址、用户名、密码连接后远程在虚拟机上执行命令。使用非常简单。

包链接 - https://www.npmjs.com/package/ssh-exec

【讨论】:

    【解决方案2】:

    有几个步骤可以将 Node.js API 连接到 VM, 首先,我们需要克隆我们将部署到 Azure VM 的项目。这个项目是一个基本的 Node.js API,带有一个用于返回 todo 对象数组的端点。转到您要存储项目的位置并克隆它:

    git clone --single-branch --branch base-project https://github.com/coderonfleek/node-azure-vm.git
    
    

    克隆项目后,进入项目根目录并安装依赖项:

    cd node-azure-vm
    npm install
    
    

    使用npm run dev 命令运行应用程序。该应用程序将在地址http://localhost:5000 启动。当应用程序启动并运行时,在浏览器中输入http://localhost:5000/todos 以查看todos 的列表。

    enter image description here

    现在,转到您项目的 package.json 文件并将这些脚本添加到 scripts 部分:

    "scripts": {
        .....,
        "stop": "pm2 kill",
        "start": "pm2 start server.js"
    }
    
    

    startstop 脚本将使用 pm2 进程管理器来启动和停止 VM 上的 Node.js 应用程序。设置完成后,pm2 脚本将全局安装在 VM 上。

    在项目的根目录下,运行rm -rf .git 命令删除所有.git 历史记录。然后push the project to GitHub。确保这是连接到您的 CircleCI 帐户的 GitHub 帐户。

    然后,在 Azure 上设置一个虚拟机来运行 Node.js。 接下来,在 Azure 上创建一个新 VM,并设置其环境以托管 Node.js 应用程序。步骤如下:

    1. 创建一个新的虚拟机实例
    2. 安装nginx
    3. nginx 配置为代理服务器。将所有流量路由到 VM 上的端口 80 到端口 5000 上正在运行的 Node.js 应用程序实例
    4. 在 VM 上安装 Node.js 并将应用程序从 GitHub 存储库克隆到 VM 中的文件夹中
    5. 全局安装pm2

    不要被这些步骤的复杂性吓倒!您可以使用一个命令完成所有五个。在项目的根目录下,创建一个名为cloud-init-github.txt 的新文件;这是一个cloud-init 文件。 Cloud-init 是云实例初始化的行业标准方法。 云初始化代码

    (请参阅以下链接了解完整详情)

    https://circleci.com/blog/cd-azure-vm/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2017-04-14
      • 1970-01-01
      • 2015-08-28
      • 2015-10-19
      • 1970-01-01
      相关资源
      最近更新 更多