0

Windows マシンでいくつかの node.js テストを実行しましたが、すべてうまくいきました。ここで、debian リモート マシンにノードをインストールし、単純な http サーバーを実行しようとしています。

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

SSH を使用して実行しnode server.jsます。サーバー IP http://xxx.xxx.22.127:8888にアクセスすると、サーバーがタイムアウトします。

私は何を間違っていますか?いくつかの単純なスクリプトでテストしたところ、node.js が正しくインストールされているようです。ファイアウォールの問題でしょうか、それともホスト IP または sommit を追加する必要がありますか?

副次的な質問:node server.jsパテで実行すると入力できなくなります。コマンドラインに戻るにはどうすればよいですか? :)

編集:私のiptables情報

Chain INPUT (policy ACCEPT)
target        prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
ACCEPT        tcp  --  anywhere             anywhere            tcp dpt:5900
ACCEPT        tcp  --  anywhere             anywhere            tcp dpt:8888

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
4

2 に答える 2

2

ソフトウェアファイアウォール(iptablesたとえば)またはハードウェアファイアウォールがあり、要求の8888受信を停止している可能性があります。これを解決する唯一の方法は、サーバー構成/ネットワークアーキテクチャを掘り下げて、問題を追跡することです。たとえば、iptables -Liptablesを使用している場合は、現在どのルールが適用されているかを確認するために使用できます。

すでにリッスンしている別のアプリケーションもあるかもしれませんが8888、これはこのように失敗するのではなくエラーをスローすると思うので、これが問題であるとは思えません。これを確認する1つの方法は、を使用することnetstat -aです。

言うまでもなく、私はあなたが持っているコードはうまくいくはずだと言っています、そしてそれはこれを引き起こしているあなたのサーバー設定の問題です。

副次的な答え:そのように使用nohupしてください。、などのモジュールのインストールを検討してから、 ;を使用する必要があります。クラッシュした場合にノードプロセスを自動的に再起動するという追加の利点があります。&nohup node server.js &foreverforever start server.jsforever

于 2012-05-17T13:30:13.947 に答える
0

私は何を間違っていますか?いくつかの単純なスクリプトでテストしたところ、node.js が正しくインストールされているようです。ファイアウォールの問題でしょうか、それともホスト IP または sommit を追加する必要がありますか?

スクリプト自体に問題はありません。でデバッグしてみてくださいtelnet

副次的な質問: ノード server.js を putty で実行すると、もう入力できません。コマンドラインに戻るにはどうすればよいですか? :)

node server.js &

( も参照man nohup)

于 2012-05-17T13:32:02.523 に答える