egg-cluster
egg 内置了一个插件 egg-cluster ,它的作用是在 egg 启动时,启动多个子进程;
egg 实际上是运行在多个进程上的应用,这些进程的职责分别为:
- 主进程,Master 进程:稳定性极高的进程,主要负责管理其他进程;因此对于 egg 应用,无须使用 pm2 等工具;
- worker 进程:由主进程开启,通常情况下数量和 cpu 的核数保持一致,worker 进程是真正用于处理请求的进程,某次请求具体交给哪个 worker 进程来处理由主进程调度;
- Agent 进程:由主进程在启动后开启,只有一个,相当于其他进程的秘书,通常用于做各种脏活累活,比如维持一个长连接;agent 进程通常对开发者是隐形的,平时并不会接触它;
egg-scripts
egg-scripts 能够提供一些命令,来启动和停止 线上环境
安装
npm i egg-scripts
配置脚本
{
"scripts": {
"start": "egg-scripts start --daemon",
"stop": "egg-scripts stop"
}
}
运行
## 启动
npm start
## 停止
npm run stop
启动命令中支持以下参数
参数 | 描述 |
---|---|
--title=name |
设置应用全名,默认为 egg-server-${APP_NAME} 在停止时,建议指定停止的 egg 应用名称,否则,如果服务器运行了多个 egg 应用,将会停止所有的 egg 应用 |
--port=7001 |
端口号,默认会读取环境变量 process.env.PORT ,如未传递将使用框架内置端口 7001 |
--daemon |
是否允许以守护进程的模式运行(后台运行) |
--env=prod |
框架运行环境,默认会读取环境变量 process.env.EGG_SERVER_ENV , 如未传递将使用框架内置环境 prod |
--workers=2 |
框架 worker 线程数,默认会创建和 CPU 核数相当的 app worker 数,可以充分的利用 CPU 资源 |
--https.key |
指定 HTTPS 所需密钥文件的完整路径 |
--https.cert |
指定 HTTPS 所需证书文件的完整路径 |
Egg👉 环境配置
上一篇