На главную
DevOps и серверы
Конфиг PM2
Собирает ecosystem.config.js: режим fork или cluster, переменные окружения, лимит памяти, логи и перезапуск по расписанию.
Приложения
ecosystem.config.js
// ecosystem.config.js
module.exports = {
"apps": [
{
"name": "api",
"script": "dist/main.js",
"exec_mode": "fork",
"instances": 1,
"autorestart": true,
"out_file": "/var/log/pm2/api-out.log",
"error_file": "/var/log/pm2/api-error.log",
"merge_logs": true,
"log_date_format": "YYYY-MM-DD HH:mm:ss Z"
}
]
};
Команды
pm2 start ecosystem.config.js pm2 logs api pm2 restart api --update-env pm2 save pm2 startup # выведет команду, которую надо выполнить от root
На что обратить внимание
- · `pm2 save` + `pm2 startup` — единственный способ пережить перезагрузку сервера: без них список приложений теряется.
- · `--update-env` нужен всегда, когда менялись переменные окружения: без него PM2 перезапустит процесс со старым окружением.