在后台运行nextjs应用程序

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

我有一个使用 nextJs 构建的应用程序,该应用程序应该在本地服务器(Windows)上运行。 我的客户告诉我,他需要这个应用程序在后台工作,搜索后我发现我需要使用一个名为

pm2
的包,当我使用它时,它给了我一个错误,我发现我需要为其进行一些配置我找不到任何帮助资源,请帮忙💔

node.js windows next.js pm2
2个回答
0
投票

我发现要在后台运行 nextJs 应用程序,您将需要自定义配置

  1. 您需要在系统中全局下载pm2
  2. ecosystem.config.js
    文件旁边的根文件夹中创建一个名为
    package.json
    的文件
  3. 您需要将配置数据放入此文件中,如下所示

module.exports = {
    apps: [
        {
            name: "inventory_test",
            script: "node_modules/next/dist/bin/next",
            args: "start -p 3333", //running on port 3000
            watch: false,
        },
    ],
};

  • 您应该将
    name
    设置为您检查时希望看到的名称
    pm2
  • 的列表
  • 当您像我在上面的代码中所做的那样设置
    script
    时,问题就会解决。更准确地说,
    pm2
    的默认运行是转到系统中的node js文件夹并尝试使
    start
    为应用程序直接使用 npm,但这就是我们需要让它使用 nextjs 本身的节点运行器或类似的东西的问题,所以我们按照上面的方式更改脚本
  • 之后,我们设置应该在
    arguments
    之后运行的
    npm
    ,在我的示例中是 arg
    start
    ,并为我们的应用程序选择端口

现在我们进行配置

注意事项

  1. 您应该在开始申请之前
    build
  2. 要运行项目,您将在
    terminal
    || 中打开项目文件夹
    cmd
    ||
    cmder
    并运行命令
    pm2 start ecosystem.config.js

0
投票

我也有同样的问题:

  • 当我运行命令时: npm run dev // http://localhost:3000 工作良好
  • 但是当我运行后台时: pm2 start npm --name "nextjs-13" -- start // http://localhost:3000 不工作

哪个命令使 nextjs 应用程序在后台运行?

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