RU::004-Администрирование::005-Настройка файла comet.ini
Header: Файл comet.ini
====== Настройка файла comet.ini ======
* Параметры можно задавать в любом порядке.
* Регистр важен
* Комментарий начинается с символа `;`
Статья расчитана на версию [[https://github.com/CppComet/comet-server/releases/tag/3.22|CppComet 3.22]] и старше
====== Секция [main] ======
Пароль для доступа из cometQL
password = 0000000000000000000000000000000000000000000000000000000000000000
Максимальный размер буфера в байтах для работы с сообщениями
buf_size = 10384
Размер буфера в байтах для хранения фрагментированных сообщений
fragment_buf_size = 600
Максимальный размер буфера хранения фрагментированных сообщений
fragment_buf_max_size = 10384
Надо ли выводить в лог комет сервера запросы приходящие через cometQL
useQueryLoger = false
Максимальный размер буфера для ответа на запрос
answer_buf_size = 1000000
Комет сервер может отдавать статические файлы. По умолчанию такая возможность отключена. Но если задать параметр base_dir то он начнёт отдавать файлы по имени из этой дерриктории как примитивный http сервер. Поддерживает только get запросы. В секции [content-type] можно задать соответсвие расширения заголовку content-type
base_dir = /var/www/html
====== Секция [statistics] ======
В комет сервере есть механизм сбор статистики использования и отправки на сервер разработчика ( Для чего и какие данные отправляет смотрите здесь http://statistics.comet-server.ru/api/statistics )
Чтоб отключить отправку статистики надо выставить значение false
allow = true
====== Секция [db] ======
Подключение к бд mysql
host = localhost
user = root
password = root
name = comet_db
port = 3305
====== Секция [ws] ======
ip адрес для приёма соединений с вебсокетов
ip = 0.0.0.0
Количество потоков в которые обрабатываются соединения с вебсокетов, каждый поток увеличивает общее потребление памяти примерно 10 - 15 мб так что для малонагруженной конфигурации можно казывать 1 поток
thread_num = 4
Комет сервер учитывает количество соединений онлайн и количество сетевых событий, это интервал в секундах между замерами значение 0 не замерять
statistics = 10
Порт для прослушивания подключений по вебсокетам
port = 8087
Интервал в секундах для проверки uptime у подключений, 0 не запускать проверку
uptimeTestInterval = 600
Максимальный uptime подключения после которого соединение разрывается принудительно
maxUptime = 0
Список хостов через запятую с которых разрешено подключатся из javascript api (проверяется на основе http заголовка ) по умолчанию ограничения нет
host = *
Только для работы в кластере. Список параметров для подключения к другим серверам кластера. Для каждого сервера в кластере надо указать свою строку подключения. Строка регистрозависимая.
Server - имя хоста сервера
Database - версия апи. Сейчас всегда CometQL_v1
Uid - имя пользователя, всегда root
Pwd - пароль
Port - порт для подключения к CometQL
cluster = []Server=127.0.0.1,Database=CometQL_v1,Uid=root,Pwd=0000000000000000000000000000000000000000000000000000000000000000,Port=3311
====== Секция [cometql] ======
ip = 0.0.0.0
thread_num = 3 ; number of threads for receive message from cometql
statistics = 10
port = 3300
uptimeTestInterval = 600
maxUptime = 0
====== Секция [content-type] ======
Позволяет задать соответсвие content-type и типа файла.
на пример так:
js = text/javascript
css = text/css
====== Секция [log] ======
Настройка уровня логирования чем выше число тем больше логов сыпится.
* 0 - не выводить
* 100 - критические ошибки
* 200 - ошибки
* 300 - предупреждения
* 400 - лог
* 500 - режим отладки
Параметр выставляет общий для всех подсистем максимальный уровень логирования
level = 200;
Уровни логирования для отдельных подсистем для того чтоб было можно смотреть лог по отдельности для разных событий используется для удобства отладки
Any = 500
События от класса логера
TagLoger = 500
События класса хранения настроек
appConf = 500
События от класса взаимодействия через pipe (в операционной системе)
pipeCommands = 500
Модуль сбора статистики
statistics = 500
Отключение соединений по превышению uptime
removeOldConnections = 500
Работа с mysql
MySqlServer = 500
Класс работы с данными пользователей (авторизация, время последнего онлайна)
UserIndex = 500
Класс пользователя (авторизация, время последнего онлайна)
UserItem = 500
Работа с вебсокетами
ClientServer = 500
Устаревшая секция работы с php api
ServerServer = 500
Работа с редис (устаревшая секция)
SimpleRedisClient = 500
Приём и распределение сетевых соединений
tcpServer = 500
Заготовки кластеризапции ещё не всё готово
CometQLCluster = 500
Работа с авторизацией от cometql подключений
devManager = 500
Отправка запросов к бд mysql
dbLink = 500
====== Секция [freeswitch] ======
Секция [freeswitch] в comet.ini поднимает на указанном порту и ip адресе http интерфейс который отвечает за механизм единой с freeswitch авторизации пользователей.
ip = 0.0.0.0
thread_num = 3
statistics = 10
port = 84
Важно что этот интерфейс не должен быть доступен из внешнй сети. На данный момент не реализована поддержка авторизации (планируется в следующих релизах) и соответственно во избежание утечки данных авторизации надо разрешить доступ к этому порту только доверенным ip адресам с вашими серверами FreeSwitch. Ограничить доступ можно средствами фаервола.