node.js モジュール

Javascript

node.js モジュールについて

前回node.js Hello Worldを表示させる]]で[[node.jsで“Hello World”を表示させました。
基本的な動きについて、解説します。

nodeは多くのモジュールを備えています。
その中にある、functionを利用していくことでnodeを利用できます。

モジュールの一覧は、下記のサイトにあります。
http://nodejs.org/api.html

モジュールの呼び出しは

 var モジュール名 = require('モジュール名');

です。
前回node.js Hello Worldを表示させるの例で言うと、

 var sys = require('sys');

でsysモジュールを利用できる、ということです。

出力をしたい場合、

 require('sys').print('String with no newline');

などのように利用します。

node.js インストール

Javascript

node.jsをインストールする

node vresion 0.2.2

node.jsとはイベント駆動のWebアプリケーションフレームワークです。
Javascriptをサーバーサイド、クライアントサイド、どちらでも利用できます。
ハイパフォーマンスでリアルタイムに動作するWebアプリケーション開発に利用できるので、今後普及していくのではないでしょうか。

さて、ここではnode.jsをWebサーバーにインストールして、Hello Worldを表示させるまでを書いておきます。
まずは、インストール方法です。

  • node.jsのサイトから、最新版をサーバーにダウンロードします。

http://nodejs.org/#download

  • ダウンロードした圧縮ファイルを解凍し、
  •  ./configure
    

    します。そのあと

     make
    

    します。

     'build' finished successfully 
    

    と表示されたら

    • suになって
    •  make install
      

      します。

       'install' finished successfully 
      

      と表示されたら、インストール終了です。

      では、次にHello Worldをブラウザ経由で表示させてみましょう。
      続き→node.js Hello Worldを表示させる

      参考:node.js 本家サイト

      Webシステム開発のご依頼はこちら

       
      

node.js アップデート

Javascript

node.js アップデート

node.js インストールから時が立ち、現時点での安定版は0.4.12になったようです。

https://github.com/joyent/node/wiki/ChangeLog

ですので、node.jsをアップデートしてみます。
とはいっても、もう一度インストールをすれば、アップデートしてくれるようです。
node.jsのGithubにある通りですがインストール方法を書いておきます。

 git clone  git://github.com/joyent/node.git
 cd node
 git checkout v0.4.12 # optional.  Note that master is unstable.
 ./configure
 make -j2 # -j sets the number of jobs to run
 [sudo] make install

ついでに、npmというnode.jsのパッケージ管理をしてくれるモジュールも出たようです。
ついでにこれもインストールしておきます。

 curl http://npmjs.org/install.sh | sh

すると、今後はnpmを利用してnode.jsのライブラリなどをすぐインストールできるようです。

 npm install 

node.js redis clusterに接続する

Javascript

node_redisは現時点ではredis clusterに対応していないので、redis clusterに対応しているライブラリを探してみたところ、ioredisが一番githubのスターが多いようなので、ioredisを使うことにしました。

https://github.com/luin/ioredis

導入

 $ npm install ioredis

redis clusterに接続するには下記のように、コンストラクターでclusterを構成するノードを列挙します。

 var Redis = require('ioredis');
 
 var cluster = new Redis.Cluster([{
   port: 6380,
   host: '127.0.0.1'
 }, {
   port: 6381,
   host: '127.0.0.1'
 }]);
 
 cluster.set('foo', 'bar');
 cluster.get('foo', function (err, res) {
   // res === 'bar'
 });

node.js node.jsスクリプトをpm2でデーモン化する

Javascript

node.jsスクリプトをデーモン化するツールにpm2というものがあります。
https://github.com/Unitech/pm2

pm2は起動したnode.jsスクリプトの死活監視を行い、停止した場合は自動的に再起動します。

同じようなツールであるforeverについての記事がでじうぃきに既に上がっているので、その記事の体裁を借りて書いていきます。

以下Version 1.0.1で確認した内容になります。

インストール

 npm install pm2 -g

主なコマンド

起動

 pm2 start app.js                         node.jsスクリプトの起動
 pm2 start app.js --name="好きな名前"     任意の名前を付けて起動

リスト、詳細表示

 pm2 list                                 実行中スクリプトのリスト表示
 pm2 show [app-name]                      実行中スクリプトの詳細表示
 pm2 monit                                実行中スクリプトのメモリ、CPU使用状況表示

ログ

 pm2 logs                                 実行中の全てのスクリプトのログを表示(tail -n 20とtail -fが実行されるイメージ) 
 pm2 logs [app-name]                      実行中のスクリプトのログを表示 

停止や再起動

 pm2 stop [app-name]                      実行中スクリプトの停止
 pm2 stop all               実行中の全てのスクリプトの停止
 pm2 restart [app-name]                   実行中のスクリプトの再起動

リストにあるスクリプトの削除

  pm2 delete [app-name]

foreverと違って、一度pm2でスクリプトを起動させるとstopしてもpm2 listで停止しているスクリプトが表示されます。
停止して後でまた起動させる時は便利ですが、完全に必要ないときはこのコマンドでリストからスクリプトを削除します。

ログローテート

 pm2 install pm2-logrotate

ログローテートするにはpm2-logrotateモジュールをインストールします。
https://www.npmjs.com/package/pm2-logrotate
デフォルトでは最大サイズ10MB、一日単位でログが分けられます。

サーバー起動時に自動的にpm2を自動開始する

 pm2 startup [platform]            centosの場合:pm2 startup centos
 pm2 save

上の二つのコマンドを実行すると設定されます。

by 芦野輝明
twitter→https://twitter.com/teriyakiegg