2012-10-03 58 views
8

我试图得到一个Etherpad Lite网站建立和运行在IIS我的电脑上我把它上传到Azure的网站之前,但我得到这个错误时我尝试(http://pastebin.com/4rZWbqix):错误:EPERM,操作不Node.js和受EtherPad的精简版允许

iisnode encountered an error when processing the request. HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stdout and stderr is shown below: 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:\用户\马修。但是有可能以某种方式修改fs.js,以便在binding.lstat中添加try/catch?

编辑2:玩弄它之后一点点(!添加权限的工作),我已经得到了它的工作。但现在载入127.0.0.1:81回报:

iisnode encountered an error when processing the request. HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stdout and stderr is shown below:

[x1B][33m[2012-10-03 20:28:13.587] [WARN] console - [x1B][39mNo settings file found. Continuing using defaults!

[x1B][32m[2012-10-03 20:28:14.338] [INFO] console - [x1B][39mInstalled plugins:

这似乎像这不是一个错误,因为什么输出是什么预期,但似乎停止在plugins.formatPlugins()。

+0

你最终做了什么来解决这个问题?我在'C:\ Users \ langdonx \ Documents \ WebStorm Projects \ x'中输入了我的文件,但是错误显示为'C:\ Users \ langdonx'。我不想授予IIS_IUSRS访问我的整个用户目录。我错过了什么? – Langdon

+0

不幸的是,我从来没有找到一个解决方法:\ – MatthewSot

回答

8

确保与运行node.js应用程序的IIS应用程序池关联的用户身份对部署应用程序的位置具有相应的文件系统权限(在本例中看起来像c:\users\matthew)。

如果您运行的是默认的应用程序池在您的应用,并使用默认的IIS用户,你应该能够给予必要的权限有:

%SYSTEMDRIVE%\ WINDOWS \ SYSTEM32 \ icacls.exe C:\用户\马修/准许IIS_IUSRS:(OI)(CI)的F

+0

我刚碰到这个错误。我在'C:\ Users \ langdonx \ Documents \ WebStorm Projects \ x'中有我的文件,可以完全访问'Everyone',但错误仍然引用'不允许的操作'C:\ Users \ langdonx''。我不想授予IIS_IUSRS访问我的整个用户目录。我错过了什么? – Langdon

+0

仔细检查“不允许操作”后记录的文件夹。我在一个良好的嵌套文件夹中有一个网站,用它自己的本地node_modules并收到此错误,而且事实证明,节点递归文件夹树寻找node_modules文件夹和它做它的方式到C:\用户\鲍勃\ node_modules,这就是我在访问时遇到可怕的麻烦的地方。对于开发目的,我只是将应用程序池标识设置为“LocalService”,并且工作。将应用程序池权限授予文件夹c:\ users \ bob不起作用。 –

-3

我不会推荐Azure的托管EtherPad的精简版,我们不优化微软的服务,这包括微软的Windows。如果这是一个选项,请使用Linux来托管您的节点实例,您将会对我的体验感到高兴。

+0

哪个node.js主机你会推荐?我遇到过的其他大多数人都不能很好地使用Windows,这就是为什么我决定使用Azure。 – MatthewSot

+0

在文档中,安装部分从Windows开始。 https://github.com/ether/etherpad-lite lol –

0

它是关于上的文件夹的权限 'C:\用户\马修'。取得所有权并给予修改权限。

相关问题