运行 在不同的港口航行控制台,然后航行升降机

Run sails console on a different port then sails lift

我如何运行同时控制风帆控制台和风帆升降机?

根据我阅读的内容 (https://github.com/balderdashy/sails/tree/master/lib/app),我需要使用 sails.load 而不是 sails.lift。我完全不知道我需要把它放在哪里以及它如何与帆控制台连接。任何帮助将不胜感激。

我有没有 sails.load 的解决方案,因为我从未使用过它。将您的 config/bootstrap.js 编辑成这样:

module.exports.bootstrap = function (cb) {

  if(process.argv[2]){
    var port = parseInt(process.argv[2]);
    sails.config.port = port;
  }

  cb();
};

然后通过 node app.js 1234 提升您的应用,使其 运行 在端口 1234 上。

但如果您仍想使用 sails.lift,请将 process.argv[2] 更改为 process.argv[3]。基本上它会在您启动应用程序时捕获任何参数,并根据您的参数更改 sails.config.port

sails liftsails console 本机处理一些参数。所以你可以使用:

  • sails lift 到 运行 您的应用在默认端口上(如果您不修改配置,则为 1337)
  • sails console --port 1338 在另一个 tab/window 到 运行 另一个端口上的控制台

试试

sails lift --port 8080

这对我有用。

打开 config/env/production.js 并向下滚动,找到 //port 80 end then,取消注释

find //port: 80 然后结束,在config/env/production.js中取消注释并提供你想要的任何端口

之后 运行 按照命令

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

它会完美地工作,但如果你想要 -i max

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

在上面的命令中,如果你遇到任何关于 g运行t 的问题而不是打开 tasks/register/prod.js 并在行下方评论

module.exports = function(grunt) {
  grunt.registerTask('prod', [
    // 'polyfill:prod', //« Remove this to skip transpilation in production (not recommended)
    // 'compileAssets',
    // 'babel',         //« Remove this to skip transpilation in production (not recommended)
    // 'concat',
    // 'uglify',
    // 'cssmin',
    // 'sails-linker:prodJs',
    // 'sails-linker:prodStyles',
    // 'sails-linker:clientSideTemplates',
  ]);

};

在 config/locale.js 下添加此行。现在再次 运行 应用程序现在您的应用程序将 运行 通过端口 80,如果您想 运行 应用程序在其他端口上,您需要用该端口号替换 80。

module.exports{
port: process.env.PORT || 80,
}