質問: http.createServer(); server.on('requst',function(req,res){ res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('hello world !!!'); res.end(); }) server.listen(1337, '192.168.33.10'); console.log("server listening ..."); ``` ### 試したこと IPアドレス、ポート番号を下記のパターンを試しました。 http://192.168.33.10 →表示されるがserver.jsではない http://192.168.33.10:1337/ → This page isn’t working http://127.0.0.1:5000/ → This page isn’t working ### 補足情報(言語/FW/ツール等のバージョンなど) node.js v8.6.0 vagrant 2.0.0
回答: > > macOS上にvagrant,vurtualBoxを用いて仮想マシンを構築しcyberduckを用いてファイル転送しています。 > > http://192.168.33.10 →表示されるがserver.jsではない > > > まさか、PHPと同じ操作なのでは... PHPはApacheと親和性が超高い異端中の異端です。 なんせPHPとApacheをインストールした瞬間に、 ApacheのコンフィグファイルにPHPのモジュールが自動的に組み込まれて、 Apacheを起動して、配布元のディレクトリにPHPのソースコードを設置するだけで動きますからね。 Node.js(を始めとする他の言語全て)はApacheと連携して動作することは想定されていません。 ※CGIを利用してどの言語でもApacheと連携させることは可能ですが、速度的なメリットが得られない為今日のサーバーでは殆ど採用されません しかも質問文のコードはApacheを介さず実行する事を想定としてコードなのでCGIで動作させることは出来ません。 ターミナルでVagrant+VirtualBoxで立ち上げたマシンへSSHで接続し、 内部で下記のようなコマンドを動作させる必要があります。 ``` $ cd [index.jsの存在するディレクトリ] $ node index.js server listening ... ↑この状態を確認してからブラウザーでアクセス ```