iEXExchanger 10.x
Официальный сайт
  • 10.x
  • История версий
  • Введение
  • Журнал изменений
  • Общая информация
    • Полезные советы
      • Технические требования к серверу
        • Сервер на FastVPS
        • Сервер на Timeweb
      • Домен для обменника
      • От мониторингов
        • Как попасть в BestChange
        • Рекомендации к обменникам
      • Защита от DDoS-атак
    • Центр безопасности
      • Настройка Google Authenticator
      • Изменение URL панели управления
      • Доступ к панели по IP-адресу
      • Управление группами пользователей
      • CSP Безопасность
      • Защита от CSRF-атак
      • Код безопасности для автовыплат
      • Ограничение доступа по IP в Cloudflare
      • Настройка защиты Fail2ban
      • Советы по безопасности от BestChange
      • Конфигурация брандмауэра UFW
      • Блокировка нежелательных email-адресов
  • Обучение
    • Изучение продукта
      • Введение
      • Начало работы
      • Главы
        • 1. Основные настройки
        • 2. Настройки интерфейса
        • 3. Коды валют и платежные системы
        • 4. Создание валют
        • 5. Настройка курсов
        • 6. Создание направлений
        • 7. Настройка заявок
    • Видеоматериалы
      • Быстрый запуск с нуля
      • Начало работы
        • Настройка планировщика задач
      • Главы
  • УСТАНОВКА И НАСТРОЙКА
    • Установка системы
      • Установка ПО
        • Шаг 1: Подготовка
        • Шаг 2: Настройка FastPanel
        • Шаг 3: Команды терминала
        • Шаг 4: Запуск процессов
          • Настройка Supervisor
          • Настройка PM2
        • Шаг 5: Финальные настройки
      • Интеграция с Cloudflare
        • Подключение сайта к Cloudflare
        • Включение HTTPS
        • Режим защиты (Under Attack Mode)
        • Настройка DNS
        • Установка SSL-сертификата
        • Белый и чёрный список IP
        • Очистка кэша Cloudflare
      • Настройка конфигурации
    • Обновление продукта
      • Обновление до 10.0.3
      • Обновление до 10.0.2
      • Переход на версию 10.0.0
      • Обновления внутри 9.x
        • Инструкция с 9.2.1 до 9.2.2
        • Инструкция с 9.2 до 9.2.1
        • Инструкция с 9.1 до 9.2
      • Инструкция по загрузке архивов и лицензии
    • Файлы лицензии
    • CRON: настройка задач
  • Заявки
    • Работа с заявками
      • Статусы заявок
      • Этапы для Заявок
      • Лимиты для операторов
      • Причины для заявок
      • Настройка Live заявок
    • Верификация
      • Верификация карт
        • Категория верификаций
        • Инструкция верификаций
      • Верификация личности (KYC)
  • Меню
    • Основное
      • Добавить код валюты
      • Добавить платежную систему
      • Валюты
        • Добавить новую валюту
        • Сети для валют
        • Фильтры для валют
        • Метки для валют
        • Быстрые команды
      • Направление
        • Добавить новое направление
        • Режимы направлений
        • Сортировка направлений
        • Групповая комиссия
        • Сумма обмена
        • Уведомления
      • Резервы
        • Стандартный резерв
        • Резерв из сервера
        • Резерв из файла
      • Платежные реквизиты
        • Добавить реквизит
        • Информационные поля
        • Дополнительные поля
        • Как настроить систему выдачи реквизитов по запросу?
      • Уведомления
        • Настройка уведомлений в направлениях
        • Настройка уведомлений в валютах
      • Дополнительные поля
        • Доп. поля для валют
        • Доп. поля для направлений
      • Шаблоны
        • Шаблоны для валют
        • Шаблоны для направлений
    • Внешний вид
      • Кастомизация главной страницы
      • Кастомизация окна оплаты заявки
      • Настройка текста
      • Виды отображения направлений обмена на главной странице
      • Уведомление на сайте
      • Цветовая палитра и стили оформления сайта
      • Вопросы и Ответы
        • Как настроить модальное окном "Подтверждение обмена"?
        • Как изменить шрифт на сайте?
        • Как вывести QR-Код при оплате заявки?
        • Как вывести галочку "Не запоминать введенные данные"?
        • Как настроить иконку и логотип?
        • Как установить свой фон на сайте?
        • Как настроить смену стилей?
    • Парсер курсов
      • Типы курсов
        • Курсы из источников
        • BestChange API парсер
          • Как получить ключ BestChange API?
          • Где находятся все созданные пары из BestChange API?
          • Настройка BestChange API парсера
          • Теги и формулы для расчёта курсов BestChange
        • Курсы из файла
        • Курсы по формуле
          • Теги и формулы для расчёта курсов валют
          • Стандартные формулы для расчёта курсов
        • Курсы конкурентов
      • CoinMarketCap API Keys
      • Дата последнего обновления курсов
      • Ускоренное обновление курсов
    • Партнерам и скидки
      • Партнерам
        • Баннеры партнеров
        • Другие разделы
        • Настройка партнерских процентов
        • Настройка партнерской программы для направлений обмена
        • Настройки партнерской программы
        • Настройка валюты для партнёрской программы
        • Почему не начисляются бонусы партнерам?
        • Почему в реферальной программе, неправильно отображается символ валюты?
      • Скидки
    • Пользователи
      • Группы прав пользователей
      • Фильтр по: IP или E-Mail
      • Лог авторизаций
  • Вопросы и ответы
    • Заявки
      • Где можно смотреть прибыль от заявок?
      • Почему создаются заявки, когда нет резерва?
      • Почему заявка автоматически отклоняется через минуту?
      • Как прикрепить файл к заявке, чтобы клиент увидел?
      • Как добавить комментарий к заявке пользователя?
      • Как отключить поле E-mail при для новых клиентов?
      • Как клиенты могут привязать чек к заявке?
      • Почему клиенты при открытии заявки получают сообщение "Нет доступ к заявке"?
      • Могут ли главные менеджеры выполнять любые заявки?
      • Почему клиенты не видят заявки в личном кабинете?
    • Направление обмена
      • Как настроить сумму обмена и установить направление по умолчанию на главной?
      • У меня большое кол-во направлений, как удобнее вывести их на главном?
    • Инфраструктура
      • Как сделать перенос с поддомена на основной домен?
      • Почему IP-адрес клиента отображается некорректно?
      • Как восстановить доступ в панель управления, если забыли пароль?
      • Как сбросить путь доступа к админке?
      • Где расположена корневая директория вашего сайта?
      • Где найти путь к проекту и имя пользователя?
      • (Важно) Что нужно знать перед тем как обновиться?
      • Как открыть терминал и подключиться к серверу по SSH?
      • Можно ли использовать имя файла без указания полного пути в URL?
    • Другие вопросы
      • Как попробовать демо-версию админки перед покупкой?
      • Почему в курсе обмена отображаются только целые числа?
      • Как изменить e-mail или пароль администратора?
      • Как включить Технический перерыв?
      • Где найти список XML кодов валют?
      • Почему администратору на E-mail не приходят сообщения?
      • Как сменить тип начисления вознаграждений для определенных клиентов?
      • Как настроить на blockchain ссылку?
      • Настройка AML, правил сервиса и согласия пользователей
  • Автоматизация
    • Мерчанты и API
      • Мерчанты
        • Предупреждение о рисках
        • Общие настройки
        • Rapira
        • AlfaBit (Pay)
        • Exnode
        • Heleket
        • WestWallet
        • Merchant001
        • PayScrow
        • Volet (ex.ADVCash)
        • Payeer
        • PerfectMoney
        • ePayCore
        • Firekassa
        • Tron
        • Ripple
        • WhiteBit
        • Garantex
        • RPC Connection
        • LuckyPay
        • IvanPay
        • B2BWallet
        • ABCEX
      • Автовыплаты
        • Предупреждение о рисках
        • Общие настройки автовыплат
        • Rapira
        • AlfaBit (Pay)
        • Exnode
        • Heleket
        • WestWallet
        • Garantex
        • Merchant001
        • Volet (ex.ADVCash)
        • Payeer
        • Firekassa
        • Ripple
        • Tron
        • WhiteBit
        • ePayCore
        • PerfectMoney
        • PayScrow
        • RPC Connection
        • LuckyPay
        • IvanPay
        • B2BWallet
        • ABCEX
        • GoldEx
      • Автоматизация валют с разными сетями
      • Как включить автовыплату без участия оператора?
      • Почему не выводится инструкция к оплате?
      • Стратегия обработки ошибок мерчантов
    • AML сервисы
      • Провайдеры
        • GETBlock
        • Rapira
        • AMLBot
        • BitOK
      • Как включить галочку о соглашении с правилами AML?
      • Как привязать AML сервис к валюте?
  • Настройки
    • Уведомления
      • E-mail уведомление
        • Настройка SMTP Yandex
        • Resend
      • Telegram уведомление
      • Всплывающее уведомление
    • Онлайн Чаты
      • Подключение JivoSite
        • Опции для JivoSite
      • Онлайн чат в заявке
    • Настройки
      • Логирование
        • Настройка логирования
      • Архивация заявок
    • Экспорт курсов
  • Модули
    • Контент
      • Меню
      • Страницы
      • Новости
      • Вопросы и Ответы
    • Утилиты
      • Промо-коды
      • Конкурсы
      • Баннеры
      • Контакты
      • Отзывы
      • Статистика
      • Преимущество
      • Статус работы сервиса
    • Работа с наличными
      • Где найти список кодов городов для работы с наличными?
    • Черный список
      • Черный список BestChange
    • Другие модули
      • Модуль "Ссылки для Footer"
      • Модуль "Внутренний счет"
        • Внутренний счет (Мерчант)
        • Внутренний счет (Автовыплата)
      • Модуль "Информация по банковским картам"
      • Модуль "Proxy менеджер"
      • Модуль "Счета пользователей"
      • Модуль "Правила сайта"
  • Прочие
    • Диагностика ошибок
    • Загрузка статического файла
    • Подключение Google reCaptcha
Powered by GitBook

Основное

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

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

On this page
  • Что такое Supervisord и зачем он нужен?
  • Шаг 1: Подготовка сервера
  • Шаг 2: Установка Supervisord
  • Шаг 3: Простая настройка Supervisord
  • Шаг 4: Настройка автоматического запуска ваших программ
  • Шаг 5: Применение новых настроек Supervisord
  • Шаг 6: Проверка работы Supervisord
  • Полезные команды для управления программами
  • Проверка логов

Was this helpful?

  1. УСТАНОВКА И НАСТРОЙКА
  2. Установка системы
  3. Установка ПО
  4. Шаг 4: Запуск процессов

Настройка Supervisor

Пошаговая инструкция для автоматической настройки и стабильного управления фоновыми задачами с помощью Supervisord.

Что такое Supervisord и зачем он нужен?

Supervisord — это программа, которая следит за тем, чтобы нужные вам процессы на сервере всегда работали. Если какая-то программа остановится, Supervisord автоматически её перезапустит.


Важно

Все команды, указанные в этой инструкции, требуют выполнения от имени пользователя с максимальными правами (пользователя root). Это необходимо, так как многие команды вносят изменения в конфигурацию системы и требуют административных привилегий.

Для перехода в пользователя root выполните команду:

sudo -l root

Шаг 1: Подготовка сервера

Сначала обновите все необходимые пакеты на сервере. Выполните команды одну за другой:

sudo apt update
sudo apt upgrade -y

Шаг 2: Установка Supervisord

Установите Supervisord командой:

sudo apt install supervisor -y

Включите Supervisord, чтобы он автоматически запускался при включении сервера, и сразу запустите его:

sudo systemctl enable supervisor
sudo systemctl start supervisor

Проверьте, запущен ли Supervisord:

sudo systemctl status supervisor

Шаг 3: Простая настройка Supervisord

Откройте главный файл конфигурации Supervisord:

nano /etc/supervisor/supervisord.conf

Добавьте следующую строку сразу после [supervisord]:

[supervisord]
minfds=10000

Сохранение и закрытие редактора в терминале

На Mac и Linux (редактор nano):

  • Нажмите комбинацию клавиш Control + O для сохранения файла.

  • Затем подтвердите сохранение, нажав Enter.

  • Для выхода из редактора нажмите Control + X.

На Windows (редактор nano в WSL, Git Bash и аналогичных):

  • Нажмите комбинацию клавиш Ctrl + O для сохранения файла.

  • Затем нажмите Enter для подтверждения.

  • Закройте редактор, нажав Ctrl + X.

Перезапустите Supervisord для применения настроек:

sudo systemctl restart supervisor

Шаг 4: Настройка автоматического запуска ваших программ

Создайте скрипт, который настроит автоматический запуск нужных программ:

nano setup_supervisor_processes.sh

Скопируйте и вставьте текст ниже, предварительно заменив указанные значения на свои:

  • PROJECT_PATH: Путь к проекту

  • PHP_PATH: Путь к PHP (по умолчанию /usr/bin/php8.2)

  • USER: Пользователь сервера

  • DOMAIN: Ваш домен (app.ваш_домен)

#!/bin/bash

# Настройка проекта Laravel для Supervisor

# ======== Укажите свои данные здесь ========
PROJECT_PATH="/var/www/имя_пользователя/data/www/app.ваш_домен"  # Путь до вашего проекта
PHP_PATH="/usr/bin/php8.2"                                     # Путь до исполняемого файла PHP
USER="имя_пользователя"                                         # Имя вашего пользователя
DOMAIN="app.ваш_домен"                                          # Ваш домен
# ===========================================

# Путь для конфигурационного файла Supervisor
SUPERVISOR_CONF_PATH="/etc/supervisor/conf.d/iex.conf"

# Создание конфигурационного файла Supervisor
cat <<EOF > "$SUPERVISOR_CONF_PATH"

[program:horizon]
command=$PHP_PATH $PROJECT_PATH/artisan horizon
autostart=true
autorestart=true
user=$USER
redirect_stderr=true
stdout_logfile=$PROJECT_PATH/storage/logs/iex-horizon.log

[program:laravel-worker]
command=$PHP_PATH $PROJECT_PATH/artisan queue:work --delay=1 --sleep=1 --timeout=1800 --tries=3 --queue=high,low
directory=$PROJECT_PATH
autostart=true
autorestart=true
user=$USER
redirect_stderr=true
stdout_logfile=$PROJECT_PATH/storage/logs/iex-worker.log

[program:laravel-pulsework]
command=$PHP_PATH $PROJECT_PATH/artisan pulse:work
autostart=true
autorestart=true
user=$USER
redirect_stderr=true
stdout_logfile=$PROJECT_PATH/storage/logs/iex-pulse-work.log

[program:laravel-pulsecheck]
command=$PHP_PATH $PROJECT_PATH/artisan pulse:check
autostart=true
autorestart=true
user=$USER
redirect_stderr=true
stdout_logfile=$PROJECT_PATH/storage/logs/iex-pulse-check.log
stopwaitsecs=3600

[program:laravel-reverb]
command=$PHP_PATH $PROJECT_PATH/artisan reverb:start --debug --hostname="$DOMAIN"
autostart=true
autorestart=true
user=$USER
redirect_stderr=true
stdout_logfile=$PROJECT_PATH/storage/logs/iex-reverb.log

EOF

# Перезагрузка Supervisor для применения новых настроек
echo "Обновляем настройки Supervisor..."
supervisorctl reread
supervisorctl update

# Вывод сообщения о завершении
echo "Конфигурация Supervisor успешно обновлена и применена!"

Сохранение и закрытие редактора в терминале

На Mac и Linux (редактор nano):

  • Нажмите комбинацию клавиш Control + O для сохранения файла.

  • Затем подтвердите сохранение, нажав Enter.

  • Для выхода из редактора нажмите Control + X.

На Windows (редактор nano в WSL, Git Bash и аналогичных):

  • Нажмите комбинацию клавиш Ctrl + O для сохранения файла.

  • Затем нажмите Enter для подтверждения.

  • Закройте редактор, нажав Ctrl + X.

Сделайте скрипт исполняемым и запустите его:

chmod +x setup_supervisor_processes.sh
sudo ./setup_supervisor_processes.sh

Шаг 5: Применение новых настроек Supervisord

Выполните следующие команды, чтобы Supervisord применил изменения:

sudo supervisorctl reread
sudo supervisorctl update

Шаг 6: Проверка работы Supervisord

Проверьте, что все программы запущены и работают:

sudo supervisorctl status

Все указанные программы должны быть в состоянии RUNNING.


Полезные команды для управления программами

  • Перезапустить все программы:

sudo supervisorctl restart all
  • Перезапустить конкретную программу:

sudo supervisorctl restart название_программы
  • Остановить программу:

sudo supervisorctl stop название_программы
  • Запустить программу:

sudo supervisorctl start название_программы

Проверка логов

Основной журнал работы Supervisord:

cat /var/log/supervisor/supervisord.log

Журналы отдельных программ (пример):

cat /var/www/myproject/iex-worker.log

Теперь Supervisord полностью настроен и работает на вашем сервере. Если возникнут вопросы, вы всегда можете обратиться за помощью к специалисту.

PreviousШаг 4: Запуск процессовNextНастройка PM2

Last updated 1 month ago

Was this helpful?

Где найти путь к проекту и имя пользователя?