如何用pm2运行laravel项目?

问题描述

我将使用 pm2 运行多个命令。 要运行整个项目,我应该运行 5 个命令,因为项目分为 nuxt 前端、laravel 后端、redis 服务器、laravel 广播服务器(laravel-echo-server)和节点套接字服务器。 我将用 pm2 解决这个问题。 但是当我使用 pm2 运行 laravel 项目时,它会重新启动很多次。

1|backend  | 2021-06-07T15:26:14: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T15:26:14: [Mon Jun  7 15:26:14 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started
1|backend  | 2021-06-07T15:26:30: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T15:26:30: [Mon Jun  7 15:26:30 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started
1|backend  | 2021-06-07T15:26:35: ^C
1|backend  | 2021-06-07T15:26:35: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T15:26:36: [Mon Jun  7 15:26:36 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started
1|backend  | 2021-06-07T22:06:42: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T22:06:44: [Mon Jun  7 22:06:44 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started
1|backend  | 2021-06-07T22:06:45: ^C
1|backend  | 2021-06-07T22:06:48: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T22:06:52: [Mon Jun  7 22:06:52 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started
1|backend  | 2021-06-07T22:06:54: ^C
1|backend  | 2021-06-07T22:06:55: Starting Laravel development server: http://0.0.0.0:8000
1|backend  | 2021-06-07T22:06:55: [Mon Jun  7 22:06:55 2021] PHP 7.4.8 Development Server (http://0.0.0.0:8000) started

这是laravel后端的pm2日志。 广播服务器也有问题,正在重启多次。

C:\USERS\THE BEST\APPDATA\ROAMING\NPM\LaraVEL-ECHO-SERVER.CMD:1
@ECHO off
^

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:891:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainer.js:303:25
    at wrapper (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\internal\once.js:12:16)
    at next (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\waterfall.js:96:20)
    at C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\internal\onlyOnce.js:12:16
    at WriteStream.<anonymous> (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\lib\Utility.js:186:13)
    at WriteStream.emit (events.js:223:5)
C:\USERS\THE BEST\APPDATA\ROAMING\NPM\LaraVEL-ECHO-SERVER.CMD:1
@ECHO off
^

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:891:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainer.js:303:25
    at wrapper (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\internal\once.js:12:16)
    at next (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\waterfall.js:96:20)
    at C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\node_modules\async\internal\onlyOnce.js:12:16
    at WriteStream.<anonymous> (C:\Users\The Best\AppData\Roaming\npm\node_modules\pm2\lib\Utility.js:186:13)
    at WriteStream.emit (events.js:223:5).

这是广播服务器(laravel-echo-server)的pm2日志。

{
    name: "backend",script: "artisan",cwd: './backend/',args: ["serve","--host=0.0.0.0","--port=8000"],instances: 1,wait_ready: true,autorestart: false,max_restarts: 1,interpreter : "PHP",watch: true,error_file: "log/err.log",out_file: "log/out.log",log_file: "log/combined.log",time: true
},{
    name: "backendecho",script: "laravel-echo-server",error_file: "log/err-echo.log",out_file: "log/out-echo.log",log_file: "log/combined-echo.log",time: true
}

这是我的 ecosystem.config.js 文件。 我希望我能尽快得到最好的解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)