在将Etherpad Lite站点上传到 Azure for Web 站点之前,我试图在我的计算机上启动并运行 IIS,但是当我尝试 ( http://pastebin.com/4rZWbqix ) 时出现此错误:
iisnode 在处理请求时遇到错误。HRESULT:0x2 HTTP 状态:500 HTTP 原因:内部服务器错误
您收到此 HTTP 200 响应是因为 system.webServer/iisnode/@devErrorsEnabled 配置设置为“true”。
除了node.exe进程的stdout和stderr的日志,考虑使用debugging和ETW traces来进一步诊断问题。
node.exe进程生成到stdout和stderr的最后64k输出如下图:fs.js:520 return
binding.lstat(pathModule._makeLong(path)); ^ Error: EPERM, operation not permitted 'C:\Users\Matthew' at Object.fs.lstatSync (fs.js:520:18) at Object.realpathSync (fs.js:1047:21) at tryFile (module.js:142:15) at Function.Module._findPath (module.js:181:18) at Function.Module._resolveFilename (module.js:336:25) at Function.Module._load (module.js:280:25) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9)
Etherpad 的目录中没有 fs.js 文件,所以我认为它是 Node.js 的某个部分有问题。我是 Node.js 的新手,因此我们将不胜感激。
编辑 1:我目前正在研究 Azure 的替代方案,并授予 C:\Users\Matthew 权限。但是有可能以某种方式修改 fs.js 以在 binding.lstat 周围放置一个 try/catch 吗?
编辑2:在玩了一点之后(添加权限有效!),我已经让它工作了。但现在加载 127.0.0.1:81 返回:
iisnode 在处理请求时遇到错误。HRESULT:0x2 HTTP 状态:500 HTTP 原因:内部服务器错误
您收到此 HTTP 200 响应是因为 system.webServer/iisnode/@devErrorsEnabled 配置设置为“true”。
除了node.exe进程的stdout和stderr的日志,考虑使用debugging和ETW traces来进一步诊断问题。
node.exe进程生成到stdout和stderr的最后64k输出如下图所示:
[x1B][33m[2012-10-03 20:28:13.587] [WARN] 控制台 - [x1B][39m未找到设置文件。继续使用默认值!
[x1B][32m[2012-10-03 20:28:14.338] [INFO] 控制台 - [x1B][39mInstalled 插件:
看起来这不是错误,因为输出的是预期的,但它似乎停止在 plugins.formatPlugins() 处。