【问题标题】:How to add production mode to sailsjs app when started using PM2开始使用 PM2 时如何将生产模式添加到sailsjs 应用程序
【发布时间】:2014-05-28 03:35:36
【问题描述】:

要在生产模式下启动sailsjs,请附加--prod。

运行: node app.js --prod

我正在使用 PM2 和一个简单的 json 文件进行设置,其中包含进程名称和脚本名称,以启动节点进程。

如何使用 PM2 传递生产参数?

【问题讨论】:

    标签: node.js sails.js pm2


    【解决方案1】:

    阅读PM2 JSON app declaration。例如。 (未测试)

    [{
      "name"      : "Sails",
      "script"    : "./app.js",
      "args"      : "['--prod']"
    }]
    

    【讨论】:

    • Typical.. 之前已经测试过了,得到一个奇怪的错误,认为 args 没有正确传递,所以我删除了它。看起来那根本不是问题。像魅力一样工作,谢谢!
    【解决方案2】:

    你也可以这样使用:

    NODE_ENV=production pm2 start app.js
    

    【讨论】:

      【解决方案3】:

      根据official document,你可以这样做:

      pm2 start app.js -x --prod
      

      【讨论】:

        【解决方案4】:

        首先删除: pm2 delete app

        再次:

        pm2 start app.js -x -- --prod

        【讨论】:

          【解决方案5】:

          对于 pm2,如果您创建了 ecosystem.config.js,您应该根据 official document 在第一个进程中创建它。默认情况下会考虑开发模式,如果要更改,请先使用以下命令删除以前的实例。

          pm2 delete <ID|APP_NAME|SCRIPT|ALL|JSON>
          

          然后您使用以下命令启动实例。

          pm2 start ecosystem.config.js --env production
          

          并使用以下命令检查进程尾部 pm2 的日志。

          pm2 logs
          

          【讨论】:

            【解决方案6】:

            这是我的 PM2 配置文件,我在 PM2 下运行了多个服务,如下所示,apps.json

            {
              "apps": [
                {
                  "name"       : "TEST_APP",
                  "script"     : "./app.js",
                  "cwd"        : "/Users/username/app",
                  "merge_logs" : true,
                  "out_file"   : "logs/pm2-out.log",
                  "error_file" : "logs/pm2-err.log",
                  "instances"  : 3,
                  "exec_mode"  : "cluster",
                  "env"        : {
                                    "NODE_ENV": "dev",
                                    "PORT": "9999"
                                 }, 
                  "env_production": {
                                    "NODE_ENV": "production",
                                    "PORT": 9998
                                 }  
                }
              ]
            }
            然后只需运行以下命令即可运行您的服务,
            $ pm2 start apps.json --env production
            

            您可以在此处包含PM2 docs 中提到的其他参数。希望这可以帮助。

            【讨论】:

              【解决方案7】:

              1.

              NODE_ENV=production pm2 start app.js -- --prod

              2.

              NODE_ENV=production pm2 start app.js --name "myapp" -i max -- --prod

              【讨论】:

                猜你喜欢
                • 2015-08-26
                • 2016-10-11
                • 1970-01-01
                • 1970-01-01
                • 2019-09-14
                • 1970-01-01
                • 2019-08-24
                • 1970-01-01
                • 2018-05-10
                相关资源
                最近更新 更多