如果 express 服务器使用 package.json 中的脚本运行,它不会出现
If the express server runs with scripts in package.json it won't come up
Web 服务器一切正常。
但是当我 运行 某些带有脚本的命令 package.json 时,我收到 404 错误。
下面是ecosystem.config.js文件配置。
module.exports = {
apps : [{
name: 'test',
script: './bin/www',
instances: 1,
exec_mode : "cluster",
autorestart: true,
watch: false,
args: ["master"],
log_date_format: "YYYY-MM-DD HH:mm:ss.SSS",
max_memory_restart: '1G',
},
{
name: 'test',
script: './bin/www',
instances: 7,
exec_mode : "cluster",
autorestart: true,
watch: false,
args: ["slave"],
log_date_format: "YYYY-MM-DD HH:mm:ss.SSS",
max_memory_restart: '1G',
}]
};
下面是我测试过的package.json中的脚本。
"cross-env NODE_ENV=production pm2 start ecosystem.config.js" // success
"cross-env NODE_ENV=production pm2 delete test & pm2 start ecosystem.config.js" // fail
"cross-env NODE_ENV=production pm2 delete test && pm2 start ecosystem.config.js" // fail
"cross-env NODE_ENV=production node ./bin/www" // success
"test"是ecosystem.config.js的名字属性的值。
运行 "pm2 start ecosystem.config.js" 它应该可以工作。
但是,同时使用 "pm2 delete test" 命令会导致 Web 服务器出现 404 错误。
命令 "pm2 delete test" 运行 正常。我实际上在 "test" 进程消失后再次看到 运行。
我不知道为什么会这样。
你可以做一件事我不知道它是对还是错但是将 pm2 脚本分开放在一个脚本中,并且在第二个脚本中设置的交叉环境使第三个脚本运行这两个脚本。
示例..
test1: "cross-env NODE_ENV=production",
test2: "pm2 delete test && pm2 start ecosystem.config.js",
test3: "npm run test1 && npm run test2"
Web 服务器一切正常。
但是当我 运行 某些带有脚本的命令 package.json 时,我收到 404 错误。
下面是ecosystem.config.js文件配置。
module.exports = {
apps : [{
name: 'test',
script: './bin/www',
instances: 1,
exec_mode : "cluster",
autorestart: true,
watch: false,
args: ["master"],
log_date_format: "YYYY-MM-DD HH:mm:ss.SSS",
max_memory_restart: '1G',
},
{
name: 'test',
script: './bin/www',
instances: 7,
exec_mode : "cluster",
autorestart: true,
watch: false,
args: ["slave"],
log_date_format: "YYYY-MM-DD HH:mm:ss.SSS",
max_memory_restart: '1G',
}]
};
下面是我测试过的package.json中的脚本。
"cross-env NODE_ENV=production pm2 start ecosystem.config.js" // success
"cross-env NODE_ENV=production pm2 delete test & pm2 start ecosystem.config.js" // fail
"cross-env NODE_ENV=production pm2 delete test && pm2 start ecosystem.config.js" // fail
"cross-env NODE_ENV=production node ./bin/www" // success
"test"是ecosystem.config.js的名字属性的值。
运行 "pm2 start ecosystem.config.js" 它应该可以工作。
但是,同时使用 "pm2 delete test" 命令会导致 Web 服务器出现 404 错误。
命令 "pm2 delete test" 运行 正常。我实际上在 "test" 进程消失后再次看到 运行。
我不知道为什么会这样。
你可以做一件事我不知道它是对还是错但是将 pm2 脚本分开放在一个脚本中,并且在第二个脚本中设置的交叉环境使第三个脚本运行这两个脚本。
示例..
test1: "cross-env NODE_ENV=production",
test2: "pm2 delete test && pm2 start ecosystem.config.js",
test3: "npm run test1 && npm run test2"