Определите путь к сценарию PM2 с помощью переменной среды
Я создаю простую промежуточную CI-среду, в которой я определяю путь запуска приложения Node с помощью переменной окружения APP_PATH.
Можно ли указать PM2 в файле конфигурации процесса для поиска сценария запуска, следуя пути в переменной APP_PATH?
Как это:
{
"apps": [
{
"name": "my_app",
"script": "$APP_PATH/app.js"
}
]
}
В настоящее время я получаю [PM2][ERROR] script not found :
сообщение от PM2 при запуске вышеуказанной конфигурации.
В двух словах: PM2 не разрешает env var, определенный в script
имущество. Есть ли способ преодолеть это?
1 ответ
Если вам нужно сделать в том же подходе. Следить за этим.
Создайте файл.json вне вашего корневого каталога или там, где вам это нужно.
servers.json
[{
"name":"MyApp",
"script":"/home/user/app/server.js",
"instances":"3" //number of instances to start
},
{
"name":"MySecondApp",
"script":"/home/user/app2/server.js",
"instances":"max" //to calculate your number of CPU cores available and run based on the core count
}]
Тогда бегите используя pm2 start servers.json
Это запустит два приложения с указанным именем и экземплярами.
Или же
С последней версией PM2 вам не нужно писать никаких скриптов. Просто выполните несколько команд, чтобы сделать то же самое.
Шаг 1: Сначала вы создаете свои экземпляры pm2 так, как вам нужно, как сейчас, сколько экземпляров вам нужно запустить или сколько разных серверов вам нужно запустить.
Как только ваши приложения запускаются и отображаются в списке, как это.
Шаг 2: введите pm2 startup
, Затем вы увидите автоматически сгенерированную команду pm2, которая поможет вам создать ее как сервис.
Шаг 3: Вы увидите команду, которую вам нужно выполнить, в сером оттенке. Скопируйте его и запустите как пользователь root.
как только вы запустите эту команду, вы увидите результат, как показано ниже.
Шаг 4: Бег pm2 save
поэтому текущий список процессов pm2 будет сохранен для запуска скрипта.
Это оно..
Протестируйте его, перезагрузив сервер и проверив pm2 ls
или же pm2 status
,
Если вы хотите обновить список процессов pm2 снова, используйте pm2 update
это возьмет текущий список процессов и обновит сценарий запуска.
Надеюсь это поможет!!!