
eggプロジェクトのデプロイツール。
注: Windowsは部分的にサポートされています。#22を参照してください
$ npm i egg-scripts --save
eggctl を package.json の scripts に追加します:
{
"scripts": {
"start": "eggctl start --daemon",
"stop": "eggctl stop"
}
}
次のように実行します:
npm startnpm stop注: egg-scripts はグローバルにインストールすることは推奨されません。npmスクリプトとしてインストールして使用してください。
eggをプロダクションモードで起動します。
$ eggctl start [options] [baseDir]
# 使用例
# eggctl start --port=7001
# eggctl start ./server
baseDir - アプリケーションのディレクトリ。デフォルトは process.cwd() です。port - リスニングポート。デフォルトは process.env.PORT です。設定されていない場合、eggはデフォルトで 7001 を使用します。title - プロセスのタイトル説明。kill grepに使用します。デフォルトは egg-server-${APP_NAME} です。workers - アプリワーカーの数。デフォルトは process.env.EGG_WORKERS です。設定されていない場合、eggはデフォルトで os.cpus().length を使用します。daemon - バックグラウンドのデーモンモードで実行するかどうか。Dockerモードでは使用しないでください。framework - 絶対パスまたはnpmパッケージでフレームワークを指定します。デフォルトは自動検出です。env - サーバー環境。デフォルトは process.env.EGG_SERVER_ENV です。空のままにしてフレームワークのデフォルト環境を使用することを推奨します。stdout - stdoutファイルをカスタマイズします。デフォルトは $HOME/logs/master-stdout.log です。stderr - stderrファイルをカスタマイズします。デフォルトは $HOME/logs/master-stderr.log です。timeout - アプリ起動時の最大タイムアウト。デフォルトは300秒です。ignore-stderr - アプリ起動時にstderrを無視するかどうか。sourcemap / typescript / ts - スタックトレースにソースマップサポートを提供します。eggを正常に停止します。
注: --title なしで実行すると、すべてのeggプロセスが強制終了されます。
# eggを停止
$ eggctl stop [--title=example]
title - プロセスのタイトル説明。kill grepに使用します。