目前我正在开始我的项目与内置的Node js
服务器内Next js
,使用next start
命令,但我不确定,如果它有多线程启用。
我的问题是,您是否建议使用内置的Node
后端或使用自定义服务器启动Next js
项目并启用多线程使用node clusters
,以获得最大的性能和速度?
Node默认为单线程,因此' next start '。我使用pm2集群模式,没有遇到任何问题。
启动集群,执行以下操作:
- 创建pm2。package.json文件旁边的
{
"apps": [
{
"name": "myNextApp",
"script": "node_modules/next/dist/bin/next",
"args": "start",
"cwd": "./",
"instances": "max",
"exec_mode": "cluster",
"out_file": "/var/log/myNextApp/myNextApp.log",
"error_file": "/var/log/myNextApp/myNextAppError.log",
"watch": "true"
}
]
}
请注意"script";node_modules/next/dist/bin/next"如果你在Next的Typescript下使用,这个配置是6个月前的也许你需要改变这一行,检查pm2 docs
- in package。json:添加
{
...
"scripts: {
...,
"pm2": "pm2"
},
...,
}
add devdependencies pm2 (yarn add -D pm2)
启动集群,你应该能够使用:
npm run pm2 start pm2.json
or
yarn pm2 start pm2.json
来自项目根目录
注。我对是否需要将pm2添加到您的项目深度有一些疑问,我认为当您使用npm I -G和apt-get安装yarn/pm2时可能会有一些差异,这可能会导致更轻的配置,但我不确定…