Node.js開発者必見!WindowsサービスでNode.jsアプリをパワーアップ
Node.js を Windows サービスとしてインストールする方法
必要なもの:
- Node.js がインストールされていること
- 管理者権限
手順:
必要なモジュールをインストールする:
npm install --global winser
package.json
ファイルで、以下のスクリプトを追加します。"scripts": { "install-service": "winser install", "uninstall-service": "winser uninstall" }
これらのスクリプトは、
winser
ツールを使用してサービスをインストールおよびアンインストールするために使用されます。また、
name
プロパティを、サービスとして表示される名前に変更する必要があります。"name": "my-nodejs-app"
サービスをインストールする:
以下のコマンドを実行して、サービスをインストールします。
npm run install-service
サービスを開始する:
net start my-nodejs-app
このコマンドは、Windows サービスとしてインストールされた Node.js アプリケーションを開始します。
補足:
サービスのステータスを確認するには、以下のコマンドを実行します。
net services | findstr my-nodejs-app
npm run uninstall-service
注意事項:
- Windows サービスとして Node.js アプリケーションをインストールする前に、Node.js が正しくインストールされていることを確認してください。
- 管理者権限でコマンドを実行する必要があります。
- サービスを編集または削除する前に、サービスが停止していることを確認してください。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello from Node.js service!');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
このコードは、単純な HTTP サーバーを作成します。このサーバーは、ポート 3000 で要求をリッスンし、Hello from Node.js service!
というメッセージを返します。
このコードを app.js
というファイルに保存します。
以下の手順に従って、このコードを Windows サービスとしてインストールします。
npm install --global winser
package.json を修正する:
{ "name": "my-nodejs-app", "version": "1.0.0", "description": "My Node.js application", "scripts": { "start": "node app.js", "install-service": "winser install", "uninstall-service": "winser uninstall" } }
npm run install-service
net start my-nodejs-app
このコマンドを実行すると、Node.js アプリケーションが Windows サービスとしてインストールされ、起動されます。
http://localhost:3000 にアクセスすると、Hello from Node.js service!
というメッセージが表示されます。
net stop my-nodejs-app
npm run uninstall-service
このサンプルコードは、基本的なものです。Node.js アプリケーションを Windows サービスとしてインストールする方法を理解するのに役立ちます。
より複雑なアプリケーションの場合は、独自の要件に合わせてコードを調整する必要があります。
Node.js を Windows サービスとしてインストールするその他の方法
PM2 を使用する:
PM2 は、Node.js アプリケーションを管理するためのプロセスマネージャーです。PM2 を使用して、Node.js アプリケーションを Windows サービスとして簡単にインストールできます。
PM2 をインストールします。
npm install pm2 -g
Node.js アプリケーションを起動します。
pm2 start app.js --name my-nodejs-app
このコマンドは、PM2 を使用して
app.js
ファイルをmy-nodejs-app
という名前のサービスとして起動します。サービスを確認します。
pm2 status
NSIS は、Windows インストーラーを作成するためのオープンソース ツールです。NSIS を使用して、Node.js アプリケーションを Windows サービスとしてインストールするカスタム インストーラーを作成できます。
NSIS スクリプトを作成します。
!macro ExecuteNode ExecWait("node.exe", "$EXEPATH$") !endmacro Section ; サービスの名前を入力してください ServiceName "My Node.js App" ; サービスの説明を入力してください ServiceDescription "My Node.js application" ; サービスの実行ファイルのパスを入力してください Exec=ExecuteNode ; サービスの種類を選択します (1 = 自動、2 = 手動、3 = デマンド、4 = 無効) ServiceType= 2 ; サービスの開始モードを選択します (0 = ディスク、1 = 手動、2 = 自動、3 = 無効) StartType= 2 SectionEnd
nsis myservice.nsh
このコマンドは、
myservice.exe
という名前のインストーラーを作成します。インストーラーを実行します。
myservice.exe
- 上記の手順はあくまで例であり、Node.js アプリケーションと要件に応じて調整する必要がある場合があります。
- NSIS を使用するには、スクリプティング言語の知識が必要です。
Node.js を Windows サービスとしてインストールするには、さまざまな方法があります。自分に合った方法を選択してください。
node.js windows-services