Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
abills:docs:manual:websocket_backend [2017/07/19 12:28]
anton создано
abills:docs:manual:websocket_backend [2018/09/28 14:47] (текущий)
andriy [Возможные проблемы]
Строка 1: Строка 1:
 +==== websocket_backend.pl ====
 +Демон, в котором собираются все долгоживущие процессы.
 +
 +^start | запустить в режиме демона |
 +^stop | остановить демон |
 +^restart | перезапустить |
 +^status | проверить,​ запущен ли демон |
 +
 +На даный момент обрабатывает:​
 +  * [[abills:​docs:​manual:​sender:​browser|WebSocket соединения]]
 +  * [[abills:​docs:​callcenter:​atrey:​ru#​realizacija_v_brauzere|Asterisk AMI и интеграцию с Callcenter]]
 +  * [[abills:​docs:​manual:​sender:​telegram|Telegram Bot API ]]
 +  * [[abills:​docs:​manual:​sender:​browser#​zapusk_vneshnej_komandy_s_uvedomleniem|Обработка длительных внешних команд с оповещением о выполнении]]
 +  * [[abills:​docs:​modules:​sysinfo:​satellite:​ru|Контроль сервисов на внешних серверах]]
 +
 ==== Установка сервера WebSocket ==== ==== Установка сервера WebSocket ====
  
 Установить perl модули:​ Установить perl модули:​
-  * AnyEvent::Socket +  * [[abills:docs:manual:soft:anyevent|AnyEvent]] 
-  * AnyEvent::Handle +  * [[abills:​docs:​manual:​soft:​protocolwebsocket|Protocol::​WebSocket]]
-  * Protocol::​WebSocket+
  
 Установить и включить модули апача: Установить и включить модули апача:
Строка 23: Строка 37:
  
 === FreeBSD === === FreeBSD ===
-  # fetch -o /​etc/​rc.d/​abills_websocket http://​abills.net.ua/​misc/​abills_websocket_rc.d +  # fetch -o /usr/local/​etc/​rc.d/​abills_websocket http://​abills.net.ua/​misc/​abills_websocket_rc.d 
-  # chmod +x /​etc/​rc.d/​abills_websocket+  # chmod +x /usr/local/​etc/​rc.d/​abills_websocket
  
 === Debian/​Ubuntu/​CentOS === === Debian/​Ubuntu/​CentOS ===
 +Можно просто прописать в **/​etc/​rc.local** ( Задержка нужна для того, чтобы загрузилась MySQL)
 +  (sleep 5 && /​usr/​abills/​libexec/​websocket_backend.pl -d) &
 +
 +**Или** установить как службу \\
 +
 **/​etc/​systemd/​system/​abills-backend.service** **/​etc/​systemd/​system/​abills-backend.service**
 <​code>​ <​code>​
Строка 47: Строка 66:
 WantedBy=multi-user.target WantedBy=multi-user.target
 </​code>​ </​code>​
 +
 +**nobody** -  пользователь веб сервера
 +
 Включить службу Включить службу
 <​code>​ <​code>​
 systemctl enable abills-backend.service systemctl enable abills-backend.service
 +systemctl start abills-backend.service
 </​code>​ </​code>​
 +
 +==== Автоматический перезапуск процеса ====
 +Благодаря billd-плагину check_programs можно перезапускать процес и получать уведомления о неактивности\\
 +**/​etc/​crontab**\\
 +<​code>​
 +  */5 * * * * /​usr/​abills/​libexec/​billd check_programs PROGRAMS=websocket
 +</​code>​
 +
 +====Возможные проблемы====
 +**Не установлен systemd**\\
 +Решения:​
 +  * установить ''​systemd''​
 +  * Использовать ''​rc.d''​ скрипт
 +
 +**Ошибки с mysql.service**\\
 +Если в системе есть ''​systemd'',​ а вместо **mysql**, установлена **mariadb**,​ служба может называться **mariadb.service**,​ переименуйте зависимую службу.\\
 +Если система не поддерживает запуск mysql через systemd, используйте init.d скрипт.
 +\\
 +
 +** Конфигурация **
 +
 +**libexec/​config.pl**
 +  $conf{WEBSOCKET_ENABLED} = 1;
 +  $conf{WEBSOCKET_URL} ​    = '​https://​192.168.1.169:​9443';​ # кастомный URL для WebSocket
 +\\