用于 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 scripts 安装并使用。
以生产模式启动 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 - 应用 worker 的数量,默认为 process.env.EGG_WORKERS,若未设置,egg 将使用 os.cpus().length 作为默认值。daemon - 是否以后台守护进程模式运行,在 Docker 模式下不要使用此选项。framework - 指定框架,可以是绝对路径或 npm 包,默认为自动检测。env - 服务器环境,默认为 ,建议保持空白,让框架使用默认环境。优雅地停止 egg。
注意: 如果执行时不指定 --title,将停止所有 egg 进程。
# 停止 egg
$ eggctl stop [--title=example]
title - 进程标题描述,用于 kill 时的 grep。process.env.EGG_SERVER_ENVstdout - 自定义标准输出文件,默认为 $HOME/logs/master-stdout.log。stderr - 自定义错误输出文件,默认为 $HOME/logs/master-stderr.log。timeout - 应用启动时的最大超时时间,默认为 300 秒。ignore-stderr - 是否在应用启动时忽略标准错误输出。sourcemap / typescript / ts - 为堆栈跟踪提供源码映射支持。