我已经部署了一个小型node.js应用程序,该应用程序使用Azure发布选项(右键单击 - 发布 - 天蓝色配置文件等)在Visual Studio 2015中本地运行到Azure。 但是,当我访问该网站时,我在页面上显示的是:
由于内部服务器错误,页面无法显示 发生。
如果我将VS服务器资源管理器连接到Azure实例以查看日志,则在logging-errors.txt内部我可以看到以下记录很多次:
Wed Jul 29 2015 12:22:36 GMT+0000 (Coordinated Universal Time): Unaught exception: Error: Cannot find module 'ms'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (D:\home\site\wwwroot\node_modules\debug\debug.js:14:20)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
这是通过预览门户网站配置的全新网络应用。
我的项目依赖项或node_modules文件夹中没有定义'ms'包,所以我假设这是在Azure上托管所需的Microsoft / Azure特定包。
我是否错过了“准备”Azure节点应用程序的步骤,还是需要执行其他一些配置步骤?
由于
答案 0 :(得分:1)
看起来它在加载模块时遇到了问题。你有一个定义依赖关系的package.json文件吗? Azure部署站点时运行的默认部署脚本将查找package.json并执行failed: [myserver] => {"dest": "/home/jdoe/somefile.tar.gz", "failed": true,
"response": "HTTP Error 403: Forbidden", "state": "absent",
"status_code": 403, "url": "http://myserver/somefile.tar.gz"}
msg: Request failed
FATAL: all hosts have already failed -- aborting
。这意味着它将安装您在“依赖项”中定义的所有内容,但不会安装您定义为“devDependencies”的软件包。
答案 1 :(得分:0)
要调试部署到Azure且无法启动的节点应用程序,请执行以下操作:
node --version
node .\server.js
(或您的package.json > start
脚本中指定的错误。)如果您能在Azure启动应用程序时看到这样的日志,那就太好了。但是我还没有找到。