一切正常,Web服务器正在运行。
但是,当我使用package.json中的脚本运行某些命令时,出现404错误。
下面是生态系统.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的name属性的值。
运行“ pm2 start生态系统.config.js”,它应该可以工作。
但是,一起使用“ pm2 delete test”命令会在Web服务器上导致404错误。
命令“ pm2 delete test”正常运行。我实际上看到“测试”过程消失后再次运行。
我不知道为什么会这样。
答案 0 :(得分:1)
您可以做一件事,我不知道它是对还是错,但是将pm2脚本放在一个脚本中是分开的,而在第二个脚本中设置的cross-env使第三个脚本可以同时运行这两个脚本。
示例..
test1: "cross-env NODE_ENV=production",
test2: "pm2 delete test && pm2 start ecosystem.config.js",
test3: "npm run test1 && npm run test2"