使用pm2在服务器上运行React build

RDo*_*nds 3 forever reactjs pm2 serve react-scripts

我已经使用编译了我的反应应用程序

react-scripts build
Run Code Online (Sandbox Code Playgroud)

并在App的根目录中生成了一个build \文件夹。我正在使用以下命令运行build \文件夹

sudo serve -T -p 443 build/
Run Code Online (Sandbox Code Playgroud)

由于我传递-T,因此这在https上成功运行了我的React应用程序。但是我需要使用任何可用的模块永久运行我的应用程序。我一直在寻找到节点模块永远PM2 我试图以如下方式使用PM2:

sudo pm2 serve -T -p 443 build/
It throws:
error: unknown option `-T'
Run Code Online (Sandbox Code Playgroud)

当我使用时:

sudo pm2 serve -p 443 build/
It works on console but I am not able to access my app from URL
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗?或者,如果有其他方法可以永久在生产环境上运行您的React应用。

提前致谢

JHM*_*M16 19

使用下面的命令它对我有用

首先构建您的反应应用程序,然后在您的应用程序文件夹中点击此命令。

pm2 serve build/ 3000 --name "react-build" --spa
Run Code Online (Sandbox Code Playgroud)


bgr*_*ran 7

您需要使用pm2JSON配置运行任意二进制文件:

app.config.json

{
  apps : [
    {
      name      : "your-app",
      script    : "npx",
      interpreter: "none",
      args: "serve -p 8443 -T"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

开始:

pm2 start app.config.json
Run Code Online (Sandbox Code Playgroud)

interpreter: "none"告诉执行时pm2不要将脚本视为JavaScript文件,而应将其视为普通二进制文件。

如果serve二进制文件与应用程序配置文件位于同一目录中,则可以serve直接执行而不是npx