Node.jsをインストールしてみる
いきなりですが思い立ったのでNode.jsをインストールしてみます。
▼nvmのインストール
まずnode.jsを管理するためのツールNVM(Node Version Manager)をインストールする。
1 2 |
$ git clone git://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh |
▼nvmコマンドでNode.jsをインストール
nvm ls-remoteでダウンロード可能なNode.jsのバージョンリストが見ることができる。
Node.jsのバージョンの見方は偶数が安定版、奇数が開発版
1 2 3 4 5 6 |
$ nvm ls-remote v0.1.14 ・ ・ ・ v0.12.0 v0.12.1 v0.12.2 |
今回は偶数版の0.12.2をインストールする。
1 2 3 |
$ nvm install 0.12.2 ######################################### 100.0% Now using node v0.12.2 (npm v2.7.4) |
node -vでインストールされたか確認する。
1 2 |
$ node -v v0.12.2 |
▼nvmの設定
再起動時、nvmが使えるようにデフォルトのNode.jsのバージョンを指定
1 2 |
$ nvm alias default v0.12.2 default -> v0.12.2 |
さらにログイン時にnvm.shが実行されるようにバッシュのプロファイルに以下を追加
1 2 3 4 5 6 7 |
vi ~/.bash_profile ---以下を追記 if [[ -s ~/.nvm/nvm.sh ]]; then source ~/.nvm/nvm.sh fi |
■ Node.jsでHello World!
viにてexample.jsというファイルを作成し、以下のコードを記述。
ポートは何番でもいいが、とりあえず8124を使用
(他のサービスで使用されていないことをnetstatコマンドにて確認すること)
1 2 3 4 5 6 7 8 |
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(8124); console.log('Server running at http://127.0.0.1:8124/'); |
では、実行。正しく実行されるとターミナルが待ち受け状態になる。
1 2 3 |
$ node example.js Server running at http://127.0.0.1:8124/ |
ブラウザから http://xxx.xxxx.xxx.xxx:8124 にアクセス
Hello Worldと表示されていれば成功。
実行を止める場合には、ctl+Cで終了
■ 永続的な実行
nodeアプリをdaemon化(バックグラウンドプロセス)するにはforeverというツールを使う。
foreverは起動したnode.jsスクリプトの死活監視を行い、停止した場合は自動的に再起動する。
npm(Node Package Manager)でインストール
(npmはnvmのインストールで一緒に入っているっぽい)
1 |
npm install -g forever |
実行。これで8124でnodeアプリが実行されている状態になりブラウザで確認ができる。
1 |
forever start example.js |
実行中スクリプトの表示
1 2 3 4 |
$ forever list info: Forever processes running data: uid command script forever pid id logfile uptime data: [0] wKtU /home/couser/.nvm/versions/node/v0.12.2/bin/node example.js 17971 17975 /home/couser/.forever/wKtU.log 0:0:0:2.325 |
実行中スクリプトの停止や再起動は以下のようなコマンドを使う
1 2 3 |
forever stop forever stopall forever restart |
例えば個別に止めたい場合はforever stop [アプリケーションのID]
1 |
forever stop 0 |