Mat*_*Sot 8 azure node.js etherpad iisnode
我尝试在我的计算机上安装Etherpad Lite站点并运行IIS,然后再将其上载到Azure for Web Sites,但是当我尝试(http://pastebin.com/4rZWbqix)时出现此错误:
处理请求时,iisnode遇到错误.HRESULT:0x2 HTTP状态:500 HTTP原因:内部服务器错误
您收到此HTTP 200响应,因为system.webServer/iisnode/@devErrorsEnabled配置设置为"true".
除了node.exe进程的stdout和stderr的日志之外,请考虑使用调试和ETW跟踪来进一步诊断问题.
node.exe进程生成到stdout和stderr的最后64k输出如下所示:fs.js:520返回
Run Code Online (Sandbox Code Playgroud)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以在try.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的日志之外,请考虑使用调试和ETW跟踪来进一步诊断问题.
node.exe进程生成到stdout和stderr的最后64k输出如下所示:
[x1B] [33m [2012-10-03 20:28:13.587] [WARN] console - [x1B] [找到39mNo设置文件.继续使用默认值!
[x1B] [32m [2012-10-03 20:28:14.338] [INFO] console - [x1B] [39mInstalled plugins:
看起来这不是一个错误,因为输出的是预期的,但似乎停在plugins.formatPlugins().
确保与运行node.js应用程序的IIS应用程序池关联的用户标识对部署应用程序的位置具有适当的文件系统权限(c:\users\matthew在本例中如下).
如果您在默认应用程序池中运行应用程序并使用默认IIS用户,则应该能够通过以下方式授予必要的权限:
%systemdrive%\ windows\system32\icacls.exe c:\ users\matthew/grant IIS_IUSRS:(OI)(CI)F
| 归档时间: |
|
| 查看次数: |
8367 次 |
| 最近记录: |