以前に CentOS 環境に StrongLoop LoopBack を導入する手順を紹介しました:
上記の手順ではまず Node.js を導入し、その Node.js 上に StrongLoop LoopBack を導入して OpenAPI 環境を構築していました。リンク先でも紹介されているように、この方法では LoopBack(Node.js) の起動をコマンドラインで行う必要がありました。つまりシステムが起動した後に明示的に LoopBack(Node.js) サーバーをアプリケーションとして起動する、という方法でした:
今回の目的はこれをデーモン化することです。
LoopBack に限った話ではないのですが、Node.js アプリケーションをデーモン化する場合には forever というツールを使うことが多いです。forever は Node.js スクリプトの死活監視ツールで、 npm を使ってインストールします:
forever で Node.js アプリをデーモン化して起動する場合は、forever コマンドの start オプションとして実行する JavaScript ファイルを指定します。LoopBack の場合はアプリケーションディレクトリ(上記例の場合は myapp)に package.json というファイルがあり、その中に以下のような記述があります:
つまり LoopBack の場合は server/server.js が起動時に実行されていることがわかります。したがって forever を使って LoopBack アプリケーションを起動する場合はアプリケーションディレクトリからこのように server/server.js ファイルを指定すればよい、ということになります:
これで LoopBack が実行されます。ウェブブラウザで http://(LoopBack アプリサーバー):3000/explorer にアクセスすると、Open API の API Reference にアクセスできることが確認できます:
なお forever は start 以外にも以下の様なコマンドが用意されています:
上記の手順ではまず Node.js を導入し、その Node.js 上に StrongLoop LoopBack を導入して OpenAPI 環境を構築していました。リンク先でも紹介されているように、この方法では LoopBack(Node.js) の起動をコマンドラインで行う必要がありました。つまりシステムが起動した後に明示的に LoopBack(Node.js) サーバーをアプリケーションとして起動する、という方法でした:
# cd myapp # node .
今回の目的はこれをデーモン化することです。
LoopBack に限った話ではないのですが、Node.js アプリケーションをデーモン化する場合には forever というツールを使うことが多いです。forever は Node.js スクリプトの死活監視ツールで、 npm を使ってインストールします:
# npm install forever -g
forever で Node.js アプリをデーモン化して起動する場合は、forever コマンドの start オプションとして実行する JavaScript ファイルを指定します。LoopBack の場合はアプリケーションディレクトリ(上記例の場合は myapp)に package.json というファイルがあり、その中に以下のような記述があります:
{
"name": "myapp",
"version": "1.0.0",
"main": "server/server.js",
"scripts": {
"start": "node .",
:
:
つまり LoopBack の場合は server/server.js が起動時に実行されていることがわかります。したがって forever を使って LoopBack アプリケーションを起動する場合はアプリケーションディレクトリからこのように server/server.js ファイルを指定すればよい、ということになります:
# cd myapp # forever start server/server.js
これで LoopBack が実行されます。ウェブブラウザで http://(LoopBack アプリサーバー):3000/explorer にアクセスすると、Open API の API Reference にアクセスできることが確認できます:
なお forever は start 以外にも以下の様なコマンドが用意されています:
コマンド | 目的 |
---|---|
forever start (Node.js JavaScript ファイル) | 指定したアプリケーションの起動 |
forever list | 実行中のスクリプトの表示 |
forever stop (Node.js JavaScript ファイル) | 指定したアプリケーションの停止 |
forever stopall | 起動中の全アプリケーションの停止 |
forever restart (Node.js JavaScript ファイル) | 指定したアプリケーションの再起動 |
forever restartall | 起動中の全アプリケーションの再起動 |
コメント