Node.jsとは
サーバー側で動くJavaScript。
もともとJavaScriptってやつはクライアント側、つまり簡単に言えばPC側で動くプログラム言語だけど、それをサーバ側で動くようしたものがNode.jsというもの。
特徴としては大量の処理に対応するために、ノンブロッキングI/Oという機能があり、データベースへのアクセスとWebページの表示を別々におこなってくれて、ストレスなくページの表示ができる。そのためスマゲーム界隈で使われているとか。
あとはチャットなどのリアルタイムに動的な挙動をさせるのに用いられている。
前提条件
環境はAmazon Linux 2
Node.jsを導入するにあたり、Gitも必要になるのでこちらも導入しておく必要がある。
無い場合はインストール。
# yum install git
導入手順
インストールしたgitでリポジトリからnvmをインストールする
# git clone https://github.com/creationix/nvm.git ~/.nvm
# source ~/.nvm/nvm.sh
ちゃんとインストールされているか確認。nvmコマンドで以下のように出れば成功。
# nvm help
Node Version Manager
Usage:
nvm help Show this message
以下省略
nvmコマンドからNode.jsをインストールする。今回は安定版と言われているバージョン0.12.7をインストール
# nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
・
・
・
v0.12.5
v0.12.6
v0.12.7
# nvm install 0.12.7
########################################################################
Now using node v0.12.7
ちゃんとインストールできたか確認
# node -v
v0.12.7
デフォルトで使用するNode.jsのバージョンを指定する。
# nvm alias default v0.12.7
default -> v0.12.7
nodeコマンドにパスが通っていないので、パスを通す
# vim ~/.bash_profile
※末尾に↓を書き加える
if [[ -s ~/.nvm/nvm.sh ]];
then source ~/.nvm/nvm.sh
fi
これでターミナルを再起動してnodeコマンドが使えたら成功。
コマンドライン上で"Hello world"を表示させよう。
nodeコマンドを使用して、main.jsを通して、hello.jsに記述された"Hello World"をコマンドに出力する。
そのため、main.jsとHello.jsの2つのjsファイルを作成する必要がある。
このファイルは、nodeコマンドで呼び出すためのファイルになる。
$ vim main.js
var hello = require('./hello.js');
console.log(hello.sayHello());
次にhello.jsを作成する。
$ vim hello.js
exports.sayHello = function(){ return "Hello World !" }
$ node main.js
Hello World !
Node.jsでwebサーバ"Hello world"
ポートは10000番を使う。
$ vim example.js
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(10000); ←ここにポート番号を指定する
console.log('Server running at http://1270.0.0.1:10000/'); ←ここにサーバーのグローバルIPとポートを指定してURLとする
ブラウザからアクセスしてみる。
http://127.0.01:10000
これで"'Hello World"と表示されていれば成功。