У меня есть среда NodeJs, встроенная в AWS Elasti c Beanstalk. Я использую pm2 для мониторинга двух разных приложений NodeJS, загруженных в среду. Кикер в том, что мне нужно убедиться, что приложение local
запущено до запуска приложения gateway
. Я использую npm-run-all
синхронно, чтобы запускать приложения в определенном c порядке.
Вот мой пакет. json:
"start": "npm-run-all -s start:local start:gateway",
"start:local": "pm2 start ./ecosystem.config.js --only local-service --env production",
"start:gateway": "pm2 start ./ecosystem.config.js --only gateway-service --env production",
Вот мой файл extract.config:
module.exports =
{
apps:
[
{
name: 'local-service',
script: './dist/services/local.js',
watch: false,
interpreter: 'node',
interpreter_args: '--require ts-node/register --require tsconfig-paths/register',
autorestart: false
},
{
name: 'gateway-service',
script: './dist/server.js',
watch: false,
interpreter: 'node',
interpreter_args: '--require ts-node/register --require tsconfig-paths/register',
wait_ready: true,
listen_timeout: 5000,
autorestart: false
}
]
};
В журнале beanstalk elasti c указано start
в пакете. json вызывается постоянно. Я настроил каждое приложение так, чтобы он не перезапускался, но, похоже, что-то еще вызывает непрерывный перезапуск. Я получаю сообщение об ошибке 502 Bad Gateway
при попытке доступа к самому шлюзу.