質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

1回答

2935閲覧

[node.js] 仮想マシン上でサーバーを立ち上げた後、ブラウザに接続できません。

DEVELOPER-SYU

総合スコア15

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2017/10/08 05:14

仮想マシン上でnode.jsを利用し、サーバーを立ち上げたあと、ブラウザに表示したい。

node.jsの初心者です。
macOS上にvagrant,vurtualBoxを用いて仮想マシンを構築しcyberduckを用いてファイル転送しています。

###発生している問題・エラーメッセージ
ターミナル上ではサーバーが立ち上がっているように見えるのですが
ブラウザに接続できていないようです。
ターミナル上にエラーは表示されていません。
ブラウザ上のエラー表示は以下の通りです。

This page isn’t working 192.168.33.10 didn’t send any data. ERR_EMPTY_RESPONSE

###該当のソースコード (ファイル名→server.js)

var http = require('http'); var server = 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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

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で接続し、
内部で下記のようなコマンドを動作させる必要があります。

Bash

1$ cd [index.jsの存在するディレクトリ] 2 3$ node index.js 4server listening ... 5 6↑この状態を確認してからブラウザーでアクセス

投稿2017/10/10 05:56

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問