gpt4 book ai didi

javascript - 如何使用 Yarn 在集群模式下使用 pm2 启动 next.js 应用程序?

转载 作者:行者123 更新时间:2023-12-02 21:32:00 39 4
gpt4 key购买 nike

我正在尝试在 pm2 中启动一个带有 2 个集群的 next.js 应用程序。因此将命令 yarn start 映射到 pm2 start yarn -i 2 --name "frontend"-- start

应用程序启动,然后在一秒钟内崩溃。

[PM2] Starting /usr/bin/yarn in cluster_mode (2 instances)
[PM2] Done.
┌─────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ frontend │ default │ N/A │ cluster │ 14901 │ 0s │ 0 │ online │ 0% │ 33.8mb │ user │ disabled │
│ 1 │ frontend │ default │ N/A │ cluster │ 14908 │ 0s │ 0 │ online │ 0% │ 28.8mb │ user │ disabled │
└─────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

.log 文件的输出

0|frontend | /usr/share/yarn/bin/yarn:2
0|frontend | argv0=$(echo "$0" | sed -e 's,\\,/,g')
0|frontend | ^^^^
0|frontend |
0|frontend | SyntaxError: missing ) after argument list
0|frontend | at Module._compile (internal/modules/cjs/loader.js:895:18)
0|frontend | at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
0|frontend | at Module.load (internal/modules/cjs/loader.js:815:32)
0|frontend | at Function.Module._load (internal/modules/cjs/loader.js:727:14)
0|frontend | at /usr/local/lib/node_modules/pm2/lib/ProcessContainer.js:301:25
0|frontend | at wrapper (/usr/local/lib/node_modules/pm2/node_modules/async/internal/once.js:12:16)
0|frontend | at next (/usr/local/lib/node_modules/pm2/node_modules/async/waterfall.js:96:20)
0|frontend | at /usr/local/lib/node_modules/pm2/node_modules/async/internal/onlyOnce.js:12:16
0|frontend | at WriteStream.<anonymous> (/usr/local/lib/node_modules/pm2/lib/Utility.js:186:13)
0|frontend | at WriteStream.emit (events.js:210:5)

注意:作为 npm 应用程序启动应用程序可以工作,但处于 fork 模式。

最佳答案

npm/yarn 脚本启动 pm2 集群模式不可行,必须使用 javascript 文件路径作为集群脚本。对于 next.js 你可以这样编写配置:

module.exports = {
apps: [{
script: "node_modules/next/dist/bin/next",
args: "start",
exec_mode: "cluster",
}]
}

关于javascript - 如何使用 Yarn 在集群模式下使用 pm2 启动 next.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60599867/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com