egg如何配置多个server实例
- Dominant language
- TypeScript
- Stars
- 19k
- Forks
- 1.8k
- PR merge metrics
- No merged PRs in 30d
Description
### egg如何配置多个server实例
1. 公司内部需要同时起两个server,一个http server,一个https server
2. 请问egg配置多个server的最佳实践是什么?
3. 目前有两种思路:
- 3.1 使用egg.startCluster执行两次,监听不同的端口
```
// server.js
egg.startCluster({
baseDir: __dirname,
workers: 1,
port: 3000,
})
egg.startCluster({
baseDir: __dirname,
workers: 1,
port: 4000,
})
```
- 3.2 在app.js中通过createServer创建新的server
担心这种方式可能有问题,其他地方在对server进行操作时(如优雅退出等)得关心和操作多个server。
```
// app.js
module.exports = app => {
app.beforeStart(() => {
// 配置 HTTPS 服务器
const httpsOptions = {
key: fs.readFileSync(path.join(app.baseDir, 'app/config/ssl/key.pem')),
cert: fs.readFileSync(path.join(app.baseDir, 'app/config/ssl/cert.pem')),
};
const httpsServer = https.createServer(httpsOptions, app.callback());
httpsServer.listen(4000, () => {
});
});
};
```
Contributor guide
Assessment
This issue has not been assessed yet.