Шаг 2: Настройка PM2
Эта инструкция поможет вам настроить Telegram Mini App таким образом, чтобы приложение всегда было доступно пользователям и автоматически запускалось при перезагрузке или перезапуске вашего сервера.
Большинство команд в этой инструкции необходимо выполнять от имени пользователя с правами администратора (root). Чтобы переключиться в режим администратора, используйте команду:
sudo -l root
Однако некоторые команды должны выполняться от имени обычного пользователя сайта (без привилегий администратора). В таких случаях явно указано, если нужно выйти из режима администратора и использовать обычного пользователя.
su -l имя_пользователя
ШАГ 1: Подготовка и размещение проекта Telegram Mini App на поддомене через FastPanel
Эти шаги помогут вам загрузить и правильно разместить файлы Telegram Mini App на вашем поддомене с помощью панели управления FastPanel.
Как разместить проект:
Откройте панель управления FastPanel.
Перейдите в раздел «Сайты» → выберите поддомен Telegram Mini App → «Файлы».
Если проект ещё не распакован на сервере:
Загрузите архив с проектом Telegram Mini App в корневой каталог поддомена через встроенный файловый менеджер FastPanel.
Распакуйте архив прямо в этом же каталоге.
Убедитесь, что после распаковки структура файлов проекта соответствует следующему виду:
ваш_проект/
├── dist/
│ └── telegram-app/
│ └── server/
│ └── server.mjs
├── logs/ (если папки нет, создайте её через панель)
└── (другие файлы)
Важно
Убедитесь, что папка logs присутствует в корневом каталоге проекта. Если её нет, создайте её прямо здесь же через файловый менеджер FastPanel.
Эта папка необходима для корректной работы приложения, в ней будут храниться логи проекта.
ШАГ 2: Создание файла конфигурации pm2
Важно:
Никогда не запускайте и не создавайте конфигурацию PM2 под пользователем root!
Используйте исключительно обычного пользователя сайта, от имени которого вы загружали файлы через панель управления FastPanel.
Это необходимо для избежания проблем с правами доступа и для обеспечения стабильной и безопасной работы вашего Telegram Mini App.
Как переключиться с root на нужного пользователя сайта?
Если в данный момент вы работаете от имени root и вам нужно перейти к пользователю вашего сайта, выполните следующую команду:
su -l имя_пользователя
Пример:
Если ваш пользователь называется siteuser, выполните:
su -l siteuser
После переключения убедитесь, что вы теперь работаете под нужным пользователем (команда для проверки):
whoami
Вывод должен быть именем вашего пользователя, например: siteuser
Создание файла конфигурации для Telegram Mini App:
Авторизуйтесь в панели управления FastPanel.
В левом меню выберите раздел «Сайты».
Найдите и выберите поддомен вашего Telegram Mini App, затем перейдите в раздел «Файлы».
В открывшейся директории сайта перейдите в папку вашего проекта, обычно это:
Перейдите в директорию сайта (пример):
/var/www/имя_пользователя/data/www/tg.ваш_домен
Создайте новый файл прямо в этой папке и назовите его:
ecosystem.config.cjs
Скопируйте в этот файл следующий конфиг:
module.exports = {
apps: [
{
name: 'iex-mini-app',
script: 'dist/telegram-app/server/server.mjs',
cwd: __dirname,
instances: 'max',
exec_mode: 'cluster',
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'production',
PORT: 4001,
PM2: true,
},
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
error_file: 'logs/err.log',
out_file: 'logs/out.log',
merge_logs: true,
time: true,
wait_ready: false,
listen_timeout: 3000,
kill_timeout: 2000,
exp_backoff_restart_delay: 100
},
],
};
Сохраните файл (нажмите кнопку «Сохранить» в FastPanel).
ШАГ 3: Запуск проекта
Теперь файл конфигурации создан, вам нужно запустить его через терминал от имени пользователя сайта.
Перейдите в директорию проекта командой:
cd www/tg.<ваш_домен>
Запустите PM2, используя ранее созданный файл конфигурации:
pm2 start ecosystem.config.cjs
Для того чтобы процессы запускались автоматически при перезагрузке сервера, выполните команду:
pm2 startup && pm2 save
ШАГ 4: Настройка автозапуска pm2
Автоматический запуск приложения через pm2 необходим, чтобы сайт продолжал стабильно работать после каждой перезагрузки сервера.
Настройте автоматический запуск pm2 после перезагрузки сервера:
Эти действия выполните под пользователем root или с помощью sudo:
Перейдите в режим администратора:
su -l root
Выполните команду настройки автозапуска pm2 для вашего пользователя FastPanel:
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u <имя_пользователя> --hp /var/www/<имя_пользователя>
Пример:
Если ваш пользователь называется siteuser, команда будет выглядеть так:
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u siteuser --hp /var/www/siteuser
После выполнения вы получите подтверждение о правильной настройке автозапуска.
Рекомендуется убедиться в том, что всё настроено корректно:
Перезагрузите сервер:
sudo reboot
После перезагрузки снова проверьте статус pm2:
pm2 status
Приложение должно автоматически запуститься и иметь статус online.
Полезные команды pm2
Остановить приложение:
pm2 stop iex-mini-app
Перезапустить приложение:
pm2 restart iex-mini-app
Просмотр логов в реальном времени:
pm2 logs iex-mini-app
Last updated
Was this helpful?