Запуск дополнительной копии модуля
На одном сервере Asterisk могут быть запущены несколько копий модуля. Они могут быть подключены к одной телефонии, но к разным CRM.
Важно:
- 1.Внутренние номера на порталах не должны пересекаться (иначе один звонок будет попадать в несколько порталов).
- 2.У каждой копии модуля должен быть свой конфиг-файл и свои сетевые порты для подключения к админке, а также получения команд из CRM.
- 3.У каждой копии модуля должен быть свой кастомизатор.
- 4.Лицензирование осуществляется по адресам порталов.
- 5.При запуске нескольких копий модуля на один и тот же портал возможно превышение лимита запросов API CRM (копии модуля не согласовывают между собой частоту запросов).
Изменения описаны для Itgrix_bx. Для Itgrix_amo всё так же, только пути будут содержать
itgrix_amo
вместо itgrix_bx
.Назовём его
/etc/itgrix_bx/config-1.json
cp /etc/itgrix_bx/config{,-1}.json
В новом конфиге исправляем обязательно:
port, secure_port
другой порт отличный от 8077, 8078
Пример обновлённых значений:
"port": 8075,
"secure_port": 8076,
cp /etc/systemd/system/itgrix_bx{,-1}.service
В новом файле для systemd вносим следующие изменения:
Description
поменять на имя новой службы (itgrix_bx-1
);- В
ExecStart
добавить флаг--config
с именем нового конфига, который был создан на шаге 2; - В
ExecStart
поменять имя лог-файла на новое.
Пример обновлённых значений:
[Unit]
Description=itgrix_bx-1
[Service]
ExecStart=/bin/sh -c "/opt/itgrix_bx/itgrix_bx --config=/etc/itgrix_bx/config-1.json >> /var/log/itgrix_bx-1.log"
Запустим исполняемый файл модуля с ключом --register-instances для того, чтобы модуль обнаружил дополнительную копию:
/opt/itgrix_bx/itgrix_bx --register-instances
Нужно создать отдельный файл лога
cp /var/log/itgrix_bx{,-1}.log
и поменять его владельца на пользователя, под которым будет стартовать служба.В
/etc/logrotate.d/itgrix_bx
копируем всё содержимое с новым именем лога.Новое содержимое файла:
/var/log/itgrix_bx.log {
# ротация раз в день. Возможные варианты daily, weekly, monthly, size (например size=1M)
daily
# сохраняется последние 5 ротированных файла
rotate 5
# сжимать ротируемый файл
compress
# сжимать предыдущий файл при следующей ротации
delaycompress
# отсутствие файла не является ошибкой
missingok
# не создаём новый файл, копируем содержимое и обнуляем старый
copytruncate
}
/var/log/itgrix_bx-1.log {
# ротация раз в день. Возможные варианты daily, weekly, monthly, size (например size=1M)
daily
# сохраняется последние 5 ротированных файла
rotate 5
# сжимать ротируемый файл
compress
# сжимать предыдущий файл при следующей ротации
delaycompress
# отсутствие файла не является ошибкой
missingok
# не создаём новый файл, копируем содержимое и обнуляем старый
copytruncate
}
Для первой копии модуля кастомизатор располагается в папке
/opt/itgrix_bx/customizer/
.В файле
/opt/itgrix_bx/customizer/settings.json
(начиная с версий Itgrix_bx-3.9.0 и Itgrix_amo-2.12.0) указаны конфиг и лог первой копии.Для второй копии создаём папку
/opt/itgrix_bx/customizer-1/
и в файле /opt/itgrix_bx/customizer-1/settings.json
прописываем конфиг и лог второй копии:{
"configCrmField": "bitrix",
"configPath": "/etc/itgrix_bx/config-1.json",
"logPath": "/var/log/itgrix_bx-1.log",
"requestTimeoutSec": 2
}
Для Itgrix_amo
"configCrmField": "amo"
, значения путей содержат itgrix_amo
.ДО версий Itgrix_bx-3.9.0 и Itgrix_amo-2.12.0 настройки кастомизатора хранились в файле
/opt/itgrix_bx/customizer/Settings.php
:class Settings {
const CONFIG_CRM_FIELD = 'bitrix'; // Название поля в CONFIG_PATH
const CONFIG_PATH = '/etc/itgrix_bx/config-1.json';
const LOG_PATH = '/var/log/itgrix_bx-1.log';
}
Также в конфиге второй копии
/etc/itgrix_bx/config-1.json
нужно указать соответствующий кастомизатор: "customizer": {
...
"program_path": "/opt/itgrix_bx/customizer-1/customize.php",
...
}
Теперь настраиваем кастомизации в
/opt/itgrix_bx/customizer-1/actions/
в соответствии с потребностями второй копии.systemctl start itgrix_bx-1
systemctl stop itgrix_bx-1
systemctl restart itgrix_bx-1
systemctl status itgrix_bx-1
При запущенной службе заходим в админку на страницу настройки CRM:
localhost:8075/config/master/crm
Выполняем авторизацию.
Last modified 10mo ago