2012-01-18 21 views
4

私のubuntuサーバーボックスでApache Webサーバーを実行しています。最近、JavaScriptを学ぼうとしていて、node.jsを見つけました。私はいくつかのWebアプリケーションのマルチプレイヤーゲームを作成したいと思います。node.jsが便利になるかもしれないことを学びました。私は構成に関するいくつかの問題を経験していました。同じマシン上でapache serverとnode.jsの両方を実行するにはどうすればいいですか? node.js上のアプリケーションが別のポートにあり、websitename:portNumberを入力してアクセスする必要がある場合は、気にしません。私はパフォーマンスの長所/短所についてあまり心配していません。私はJavaScriptとnode.jを試してみたいと思います。変更が必要なファイルはありますか?ポート80以外のポートでnode.jsを実行しています

は、ここで私はスクリプトがサーバー上で実行するために持っているコードだ(今だけのための裁判のためにそれを使用して):私は、サーバー(ノードfileName.js)を開始し

var http = require('http'); 

http.createServer(function (req, res) { 
     res.writeHead(200, {'Content-Type': 'text/plain'}); 
     res.end('Hello World\n'); 
    }).listen(1337); 

。しかし、ネットワーク上の別のクライアントコンピュータにアクセスしようとすると、ページが存在しないように見えるため、動作していないように見えます。

ポート1337でサーバーにアクセスしたときにHello Worldがブラウザに出力されるようにする手順は何ですか?

+0

「1337」ポートがファイアウォールのどの種類(例えばAmazonのEC2セキュリティグループ)によってもブロックされていないこと、およびルータの背後にある場合にポートが適切に転送されていることを確認してください。 – wsanville

+0

あなたの例は動作しています。ポート1337をブロックしているか、他のコンピュータに間違ったIPを入力しているようです。 – bennedich

答えて

6

はこのようにそれを行うようにしてください:ネットワークポイントhttp://your-adapter-ip:1337するには、ブラウザから

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, "your-adapter-ip"); // don't forget adapter IP 

そして。
ファイアウォールがそのポートで開いていることを確認します。

+2

またはIPの代わりに '0.0.0.0' –

0

他のクライアントコンピュータからhttp://your_ubuntu_server_ip:1337にアクセスできるはずです。

他のコンピュータからApache Webサーバーにアクセスできますか?その場合は、Apacheを停止し、コードを変更してポート80を使用してから、もう一度やり直してください。

関連する問題