nginx 通过PM2在“开发”中运行的MERN应用程序

p1iqtdky  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(111)

我在React应用的App.js中有这样一行代码:

console.log(process.env.NODE_ENV);

当在开发中运行应用程序时,我在控制台中看到了“开发”。
当我运行npm run build,然后用serve -s build服务我的应用程序时,我会在控制台中看到“生产”,这很棒。
但是当我使用nginx运行npm run build并尝试使用pm2 start npm -- start启动我的应用程序时,我仍然在控制台中看到“开发”。
我曾尝试在生产环境中使用serve,这似乎是一个临时修复,但我的会话很快超时,整个应用程序断开连接。
我还尝试创建一个新的PM2配置文件,如下所示:

//ecosystem.config.js
module.exports = {
  apps: [
    {
      name: 'my-react-app',
      script: 'serve',
      args: ['-s', 'build'],
      instances: 1,
      autorestart: true,
      watch: false,
      max_memory_restart: '1G',
      env: {
        NODE_ENV: 'production',
      },
    },
  ],
};

然后用pm2 start ecosystem.config.js命令启动我的应用程序
但我仍然在控制台上看到了“发展”。
我也试过像下面的pm2 start --env production npm start一样在pm2 start命令中添加--env production标志,但结果还是一样。
任何帮助或想法将非常感谢。

at0kjp5o

at0kjp5o1#

问题解决了,感谢这个答案https://stackoverflow.com/a/74126120/13146212
关键是将servepm2一起使用
希望有一天这能帮助到别人

相关问题