問題タブ [iisnode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 別のソケット接続または別の名前空間を使用する必要がありますか?
私の socket.io 実装にはさまざまなチャネルがあり、それらのチャネルに接続されたクライアントと大量のデータが交換されます。したがって、同じソケット接続の下でチャネルごとに個別の名前空間を作成する socket.io の名前空間の概念を使用する必要があるか、またはチャネルごとに異なるポートで異なるソケット接続を作成する必要があるかについて、少し混乱していますか? これら2つのオプションがパフォーマンスなどにどのように影響するかについての提案をお願いします?
ありがとう
iisnode - iisnode で Etherpad Lite を実行する方法
iisnode を使用して IIS で Etherpad Lite を実行するにはどうすればよいですか?
(さらに調査した後、2013-04-23 に更新)
私の手順 (最初の試行)
- Etherpad Lite をインストール
c:\eplite
して、start.bat で実行したときに動作することを確認します。 - IIS 用の URL 書き換えモジュールをインストールします (iisnode に必要)。
- iis ノードをインストールします。
- IIS_IUSRS に全体のフル コントロールを付与します
c:\eplite
(やり過ぎですが、アクセスの問題がないことを確認するため)。 - を指す IIS Web サイトを構成します
c:\eplite
。 - に移動
c:\eplite\node_modules\ep_etherpad-lite\Web.config
しc:\eplite
ます。
IE を開くと、etherpad のようなものが表示されますが、機能しません。メイン ページにはテキストがなく (フィールドとボタンのみ)、パッドを開こうとすると、テキストを含むパッド インターフェイスが機能しなくなります。
私の手順(ここでの議論を読んだ後、2回目の試行)
7.
settings.json の編集: delete port
。
8.
c:\eplite\start_iisnode.bat を作成します。
9.
次の行を Web.Config に追加します。
<iisnode nodeProcessCommandLine="c:\eplite\start_iisnode.bat" />
IE を開くと、今度は正しいスタート ページが表示されます。パッドを開くと、次のテキストを含むパッド インターフェイスが機能しなくなります。
プロセス モニターによると、次のパスでこのモジュールを見つけようとします。
他に試したこと
手順 1 ~ 4 + c:\eplite\node_modules\ep_etherpad-lite (Web.config の場所) を指す IIS Web サイトを構成 +
node_modules\ep_etherpad-lite
Web.Config のすべての場所からパスを削除します。結果は、元の手順 1 ~ 6 と同じです。手順 1 ~ 4、7 ~ 9 + c:\eplite\node_modules\ep_etherpad-lite (Web.config の場所) を指す IIS Web サイトを構成します +
node_modules\ep_etherpad-lite
Web.Config のすべての場所からパスを削除します。結果は、元の手順 1 ~ 9 と同じです。
バージョン情報
installOnWindows.bat でビルドされた「マスター」コード ブランチ (最新リリースは 1.2.10) の Etherpad Lite。
ノード バージョン 0.8.4 x64、iisnode バージョン 0.2.4 x64。
Windows 8 で実行されます。
node.js - iis7 は、node.js サイトに対してランダムに 404 not found エラーを返します。
ドイツにある
サーバー Windows Server 2008 / IIS 7
node.js 0.8.22
iisnode 0.2.2 x64
web.config
サーバー.js
問題:
200 応答が返されることもありますが、404 (ファイルまたはディレクトリが見つかりません) が返されることもあります。
ロシア、ドイツ、または米国からリクエストすると、応答は 200
です。中国からリクエストすると、応答が 404 になることがあります (ISP、時間、その他によって異なります)。
404 応答は、iis が server.js を見つけられないように見えます
200 応答の例 (Express VPN を使用し、米国に接続):
404 エラーの例 (vpn なし、中国からのリクエスト):
iisnode には 404 リクエストのログもトレースもありません。
このサーバー上のすべての iisnode/node.js サイトで同じ問題が発生します。
しかし、このサーバーの Asp Net Mvc Web サイトはどのような場合でも 200 を返すため、中国のゴールデン シールドの問題ではない可能性があります。
どんな情報でも提供できます。
どんな助けでも大歓迎です。
javascript - iisnode 500.21 ハンドラ "iisnode" のモジュール リストに不正なモジュール "iisnode" があります
Server 2008 R2 64 ビット、IIS 7.5、iisnode 0.2.4.0、node.js 0.10.5 でこのエラーが発生する -
HTTP エラー 500.21 - 内部サーバー エラー
ハンドラ "iisnode" のモジュール リストに不正なモジュール "iisnode" があります
詳細なエラー情報
モジュール - IIS Web コア
通知 - ExecuteRequestHandler
ハンドラ - iisnode
エラーコード - 0x8007000d
要求された URL - https://sub.domain.com:443/node/helloworld/hello.js
物理パス - C:\Program Files\iisnode\www\helloworld\hello.js
ログオン方法 - 匿名
ログオン ユーザー - 匿名
私が遭遇した他の投稿で提案されているように、asp.netがインストールされていることをすでに確認しています。localhost/node/helloworld の helloworld html サイトにアクセスできますが、hello.js の URL にアクセスしようとすると、このエラーが発生します。別の URL で作成した node.js アプリを使用しようとすると、エラーが表示されます。どんな助けでも大歓迎です。
node.js - Web アプリケーション用に Node.JS サーバーを実行するには?
情報: node.JS は初めてです。
ポート XXXX で http リクエストをリッスンできるサンプル サーバーを作成しました。このサーバーをコマンドライン (Windows) から実行すると、うまく動作するようです。ブラウザで開くと、localhost:XXXX に対するリクエストに応答します。
質問: これはどのように機能するはずですか? ノード サーバーを実行するには、サーバーが要求をリッスンするために CMD プロンプトを常に開いておく必要がありますか? IISNode で「何とか」できませんか?
IISNode に Node.JS ファイルとして記録されている JS ファイルにリクエストを送信した場合、NODE がそれを処理する必要があることを理解しています。次に、ノードにリクエストを処理させます。ただし、これは、IIS が Web サーバーであり、特定の要求が Node.js によって処理されることを前提としています。
ここで意味を成していることを願っています!:)
iisnode - iisnode 使用時にポート番号を取得する方法は?
正常に動作する単純なサーバーがあります (以下)。問題は、process.env.PORT の値が期待どおりの数値ではなく、"\\.\pipe\d226d7b0-64a0-" のような文字列値であることです。 4d04-96d4-a75e1278b7a9". http リスナーが使用しているポートの実際の数値を取得するにはどうすればよいですか?
handlebars.js - HandlebarsJS テンプレートの静的リソースのバージョン管理
HandlebarsJS テンプレート内の静的アセット (CSS、JS、画像など) URL のバージョン管理に役立つツール (および手法) を探しています。これは、 を使用し、 Windowsexpress
で実行されている Node.js Web アプリ用です。iisnode
パフォーマンス上の理由から、IIS で静的アセットを直接提供する必要があり、このパイプラインに Node またはその他の接続ミドルウェアを使用しないでください。
過去に (クラシック ASP で) これをどのように行ったかに基づいて、現在の考えは次のとおりです。
- アセット名を入力として受け取る HandlebarsJS ヘルパーを作成します。次に、ヘルパーはそのアセットの適切なバージョン (タイムスタンプ、チェックサムなど) を取得し (おそらく事前に生成された JSON オブジェクトを調べて)、テンプレート出力にレンダリングされるアセットへの適切にバージョン管理されたパスを返します。
- 例:
{{asset 'images/button.png'}}
-->//sc.domain.com/images/<version#>/button.png
- 例:
- Grunt を使用して、アセット名をバージョンにマッピングする JSON オブジェクトを含むファイルを作成します。これは、URL を構築するために HandlebarsJS ヘルパーによって使用されます。
- IIS で着信 URL を書き換えてバージョン番号を削除するようにします。これにより、ディスク上でファイル名を実際に複製/バージョン管理する必要がなくなります (当社のサイトでは、資産の複数のバージョンを同じファイル名で同時に公開する必要はありません)。
理論的には、これはすべて私の目的に対して完全に機能するはずです。しかし、このインフラストラクチャをすべて掘り下げて記述する前に、a) これらの項目が既にどこかに存在しているかどうか、b) HandlebarsJS でより適切に機能する代替アプローチがあるかどうかを誰かが知っているかどうかを確認したかったのです。
asp.net - Visual Studio の iisnode でノード アプリを実行する方法
node.js を使用してノード アプリを実行できましたが、そのアプリを asp アプリケーションで実行する必要があります。したがって、iisnode をインストールしました。残念ながら、iisnode を使用してノード アプリを実行する方法に関する完全なドキュメントはありません。ビジュアル スタジオで iisnode を使用してノード アプリを実行する方法を教えてください。
前もって感謝します !