eggjs / eggjs/egg

egg如何配置多个server实例

Open
#5,367 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.