10

Azure forWebサイトにアップロードする前にEtherpadLiteサイトをコンピューター上のIISで起動して実行しようとしていますが、試行するとこのエラーが発生します(http://pastebin.com/4rZWbqix):

リクエストの処理中にiisnodeでエラーが発生しました。HRESULT:0x2 HTTPステータス:500 HTTP理由:内部サーバーエラー

system.webServer / iisnode / @ devErrorsEnabled構成設定が「true」であるため、このHTTP200応答を受信して​​います。

node.exeプロセスのstdoutおよびstderrのログに加えて、デバッグおよびETWトレースを使用して問題をさらに診断することを検討してください。

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理由:内部サーバーエラー

system.webServer / iisnode / @ devErrorsEnabled構成設定が「true」であるため、このHTTP200応答を受信して​​います。

node.exeプロセスのstdoutおよびstderrのログに加えて、デバッグおよびETWトレースを使用して問題をさらに診断することを検討してください。

node.exeプロセスによってstdoutおよびstderrに生成された出力の最後の64kを以下に示します。

[x1B] [33m [2012-10-03 20:28:13.587][警告]コンソール-[x1B][39m設定ファイルが見つかりません。デフォルトの使用を継続します!

[x1B] [32m [2012-10-03 20:28:14.338][情報]コンソール-[x1B][39mインストールされたプラグイン:

出力されるのは期待どおりであるため、これはエラーではないように見えますが、plugins.formatPlugins()で停止しているようです。

4

5 に答える 5

9

node.jsアプリケーションを実行しているIISアプリケーションプールに関連付けられているユーザーIDに、アプリケーションを展開した場所(c:\users\matthewこの場合のようになります)に対する適切なファイルシステム権限があることを確認してください。

デフォルトのアプリプール内でアプリを実行していて、デフォルトのIISユーザーを使用している場合は、次の方法で必要なアクセス許可を付与できるはずです。

%systemdrive%\ windows \ system32 \ icacls.exe c:\ users \ matthew / grant IIS_IUSRS:(OI)(CI)F

于 2012-10-04T02:36:07.100 に答える
0

これは、フォルダー'C:\ Users\Matthew'のアクセス許可に関するものです。所有権を取得し、変更権限を付与します。

于 2014-01-16T12:42:06.260 に答える
0

同じ問題が発生し、それを介して最新のノードバージョンを使用しようとすると、 nvm use [some node version 10.12.0 in my case]成功することが出力されましたが、実行するnode -vと、実際には8のノードにいることがわかりました。

2番目のWindowsユーザーとしてログインすることで解決しました(ただし、管理者とノードの両方がC:/にインストールされています)。そこでnvm use 10.12.0、ノードのバージョンを置き換えるためにを使用し、現在のユーザーでログインを戻すと機能しました。

于 2020-12-03T19:58:20.710 に答える
0

場合

エラー:EPERM、操作は許可されていません'C:\ Users \ Matthew'

このエラーは、ユーザーIIS_IUSRSがこのフォルダーC:\ Users\Matthewにアクセスできないために発生します。

解像度

アプリケーションを「パブリックフォルダー」に配置できます。例:「C:\ Test \ [yourapplication] 」で、ユーザーIIS_IUSRSへのアクセスをこのフォルダーにのみ許可します。

于 2021-08-26T11:24:26.923 に答える
-3

Etherpad LiteのホスティングにAzureはお勧めしません。これには、MicrosoftWindowsを含むMicrosoftのサービスは最適化されていません。オプションの場合は、Linuxを使用してノードインスタンスをホストしてください。私の経験では、はるかに幸せになります。

于 2012-10-04T02:18:37.180 に答える