【问题标题】:GCloud VM instance not starting Node appGCloud VM 实例未启动 Node 应用程序
【发布时间】:2016-04-11 22:24:00
【问题描述】:

我尝试在 localhost 和 google VM 上运行我的节点应用程序。如果我登录到谷歌云虚拟机的 putty\ssh,该应用程序运行良好 并启动节点应用程序(从 /opt/app 文件夹)。我可以登录浏览器并通过 {external ip:port number} 访问应用程序。

如果我只是重置(或停止\启动)VM,它不会启动应用程序。我提供了一个启动脚本来启动应用程序 在下面的文章中提到:

https://cloud.google.com/nodejs/getting-started/run-on-compute-engine#download_app

当虚拟机尝试运行启动脚本文件时,我可以看到以下内容。这实际上是因为缺少依赖关系吗? 因为如果 package.json 丢失,当我尝试手动运行它时它应该会失败。

    Apr 11 21:15:02 my-app-instance startupscript: /tmp/tmp.XwUPXasPss: line 28: cd: /opt/app/7-gce: No such file or directory
    Apr 11 21:15:02 my-app-instance startupscript: npm install
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! install Couldn't read dependencies
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! Linux 3.16.0-4-amd64
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! argv "/opt/nodejs/bin/node" "/usr/bin/npm" "install"
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! node v4.2.2
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! npm  v2.14.7
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! path /package.json
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! code ENOPACKAGEJSON
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! errno -2
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! syscall open
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json ENOENT: no such file or directory, open '/package.json'
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json This is most likely not a problem with npm itself.
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json npm can't find a package.json file in your current directory.

包.json

    {
      "name": "appname",
      "version": "1.0.0",
      "description": "An interactive forum",
      "main": "server.js",
      "private": true,
      "engines": {
        "node": ">=0.12.7",
        "npm":  "2.14.12"
      },
      "dependencies": {
        "bluebird": "^3.3.4",
        "body-parser": "^1.15.0",
        "cors": "^2.7.1",
        "express": "^4.13.4",
        "jsonfile": "^2.2.3",
        "mysql": "^2.10.2",
        "socket.io": "^1.4.5"
      },
      "devDependencies": {},
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "repository": {
        "type": "git",
        "url": "app, test, ineractive"
      },
      "keywords": [
        "app",
        "test",
        "interactive"
      ],
      "author": "Srikanth",
      "license": "MIT"
    }

任何帮助将不胜感激?它还在“主管”日志中给出错误。

    2016-04-11 21:15:09,694 INFO exited: nodeapp (exit status 127; not expected)
    2016-04-11 21:15:10,695 INFO gave up: nodeapp entered FATAL state, too many start retries too quickly

【问题讨论】:

    标签: node.js gcloud gcloud-node


    【解决方案1】:

    查看日志行line 28: cd: /opt/app/7-gce: No such file or directory:在链接的说明中,它假定您的应用程序位于该目录中。但是,您的 VM 上似乎没有它,这会导致脚本的其余部分失败。

    【讨论】:

    • 谢谢扎卡里。这有很大帮助。我不是unix专家。这就是为什么这个小错误让我眼前一亮。如果我们想管理云,我想我必须开始学习 unix 命令。我盲目地复制了启动文件,因为他们没有在该教程的启动脚本部分提及项目特定的内容。
    猜你喜欢
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多