如何通过API方法远程重建并重启NextJs项目?

问题描述 投票:0回答:1

所以我有一个 NextJs 项目。在我的 /admin 路线中,我有一个按钮,我可以在其中调用一些 /same_server/api/update_frontend

这会调用服务器的用户转到我的 NextJs 项目所在的文件夹并与终端一起使用:

$ssh = new SSH2(config('app-update.ssh-host'), config('app-update.ssh-port')); if ($ssh->login(config('app-update.ssh-user'), config('app-update.ssh-password'))) { return $ssh->exec('cd ' . config('app-update.ssh-front-directory') . " && pm2 全部停止;pm2 全部删除;git 恢复 .; git pull origin main;yarn build;pm2启动纱线 --name '网站' -- start"); }

我使用 pm2 来保持 NextJs 运行。我想运行这些命令:

pm2 stop all; pm2 delete all; git restore .; git pull origin main; yarn build; pm2 start yarn --name 'website' -- start

但是我失败了并发现,如果我只是运行yarn dev,它会在开发模式下启动nextjs,认为任务已完成,关闭终端,一切都会停止。 如果我运行

pm2 start yarn --name 'website' -- dev
那么它就可以正常工作了。

那么我如何正确地一一启动所有这些命令,这样最后我就完成了构建并启动了 pm2 保存的项目?

next.js pm2
1个回答
0
投票

有什么帮助:通过 root 连接到服务器的用户。 不知何故,你不能直接从 root 运行 pm2 命令,需要连接到你的用户

© www.soinside.com 2019 - 2024. All rights reserved.