iEXExchanger 10.x
Официальный сайт
  • 10.x
  • История версий
  • Telegram App
  • Telegram Mini App
  • История версий
    • Обновление 1.0
  • Установка и настройка
    • Установка приложения
      • Шаг 1: Настройка FastPanel
      • Шаг 2: Настройка PM2
      • Шаг 3: Подключение Telegram Bot
Powered by GitBook

Основное

  • Требования к серверу

iEXExchanger — это профессиональное решение для создания обменника валют.

On this page
  • ШАГ 1: Подготовка и размещение проекта Telegram Mini App на поддомене через FastPanel
  • ШАГ 2: Создание файла конфигурации pm2
  • Как переключиться с root на нужного пользователя сайта?
  • ШАГ 3: Запуск проекта
  • ШАГ 4: Настройка автозапуска pm2
  • Полезные команды pm2

Was this helpful?

  1. Установка и настройка
  2. Установка приложения

Шаг 2: Настройка PM2

Эта инструкция поможет вам настроить Telegram Mini App таким образом, чтобы приложение всегда было доступно пользователям и автоматически запускалось при перезагрузке или перезапуске вашего сервера.

Большинство команд в этой инструкции необходимо выполнять от имени пользователя с правами администратора (root). Чтобы переключиться в режим администратора, используйте команду:

sudo -l root

Однако некоторые команды должны выполняться от имени обычного пользователя сайта (без привилегий администратора). В таких случаях явно указано, если нужно выйти из режима администратора и использовать обычного пользователя.

su -l имя_пользователя

ШАГ 1: Подготовка и размещение проекта Telegram Mini App на поддомене через FastPanel

Эти шаги помогут вам загрузить и правильно разместить файлы Telegram Mini App на вашем поддомене с помощью панели управления FastPanel.

Как разместить проект:

  1. Откройте панель управления FastPanel.

  2. Перейдите в раздел «Сайты» → выберите поддомен Telegram Mini App → «Файлы».

  3. Если проект ещё не распакован на сервере:

    • Загрузите архив с проектом Telegram Mini App в корневой каталог поддомена через встроенный файловый менеджер FastPanel.

    • Распакуйте архив прямо в этом же каталоге.

  4. Убедитесь, что после распаковки структура файлов проекта соответствует следующему виду:

ваш_проект/
├── 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
PreviousШаг 1: Настройка FastPanelNextШаг 3: Подключение Telegram Bot

Last updated 12 days ago

Was this helpful?