Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Если серверный процесс запущен и в логах нет ошибок, это означает что WCS сервер готов к работе и можно начинать тестирование.

Способы запуска

Запуск

...

как сервиса 

Запуск WCS как сервиса осуществляется командой:

Code Block
languagebash
themeRDark
sudo systemctl start webcallserver

Начиная со сборки 5.2.801, WCS запускается как сервис от пользователя flashphoner для большей безопасности.

Кроме этого запуск может быть осуществлен командой:

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start

В сборках 5.2.840 - 5.2.863 эта команда запускает WCS также от пользователя flashphoner.

Настройка переменных окружения

Подготовка запуска и переменных окружения происходит в скрипте setenv.sh. В этом скрипте могут быть заданы дополнительные параметры для WCS Core. Кроме того, здесь же задается параметр, предотвращающий утечки памяти на многопроцессорных системах:Это предпочтительный способ запуска. При этом сервис стартует от пользователя root , а основной процесс от пользователя flashphoner или от root , в зависимости от настройки режима запуска.

В сборке 5.2.1537 тип сервиса изменен с simple на forking. Кроме того, права доступа к файлу, содержащему PID основного процесса WCS, приведены в соответствие с требованиями systemd. Сервис помечается как active (running), и systemd, при необходимости. может послать сигнал для остановки основного процесса непосредственно ему

Image Added

Автоматический перезапуск сервиса при сбоях

В сборке 5.2.1562 добавлен автоматический перезапуск сервиса webcallserver.service  в тех случаях, когда сервис по каким-либо причинам перешел в статус failed. Предпринимается до 5 попыток перезапуска в случае, если между попытками проходит не более 2 минут.

Сервис по-прежнему может быть остановлен или  запущен вручную. Если сервис остановлен вручную, попытки перезапуска предприниматься не будут.

Автоматический перезапуск может быть отключен командой

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver set-service-restart disable

Запуск из командной строки

При необходимости, запуск WCS может быть осуществлен командой:

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start

Этот способ запуска полезен при отладке и тестировании.

Настройка переменных окружения

Подготовка запуска и переменных окружения происходит в скрипте setenv.sh. В этом скрипте могут быть заданы дополнительные параметры для WCS Core. Кроме того, здесь же задается параметр, предотвращающий утечки памяти на многопроцессорных системах:

Code Block
languagebash
themeRDark
MALLOC_ARENA_MAX=4

Запуск с выводом в stdout

В некоторых случаях, например когда сервер не стартует и не выдает никаких ошибок, требуется запуск с прямым выводом в консоль stdout . Прямой вывод в stdout не может использоваться в промышленной эксплуатации, т.к. при закрытии консоли или потере SSH-соединения сервер будет остановлен. Поэтому рекомендуется использовать прямой вывод в stdout только в целях отладки.

Для того чтобы запустить сервер в данном режиме, необходимо выполнить команду:

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start standalone

Запуск с выводом лога JVM в файл

В сборке 5.2.1562 добавлена возможность запустить WCS с выводом лога JVM в файл, аналогично прямому выводу в stdout 

Code Block
languagebash
themeRDark
MALLOC_ARENA_MAX=4

Запуск с выводом в stdout

В некоторых случаях, например когда сервер не стартует и не выдает никаких ошибок, требуется запуск с прямым логгированием в консоль 'stdout'. Прямой вывод в stdout не может использоваться в production т.к. при закрытии консоли или потере SSH-соединения сервер будет остановлен. Поэтому рекомендуется использовать вывод stdout только в целях отладки.

...

cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start --java-log

Весь вывод Java машины в этом случае перенаправляется в файл /usr/local/FlashphonerWebCallServer/logs/java.log. Данную возможность следует использовать только в целях отладки, но не в промышленной эксплуатации, т.к. объем вывода в этот файл будет очень большим.

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

Запуск в сборках 5.2.864-5.2.972

Начиная со сборки 5.2.864, права, с которыми запускается WCS, подчиняются следующей логике:

1. Команда

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallServer/bin
sudo sudo systemctl start webcallserver

запускает WCS всегда от пользователя flashphoner, если он есть в системе

2. Команда

Code Block
languagebash
themeRDark
./webcallserver start standalone

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

Запуск в сборках 5.2.864-5.2.972

Начиная со сборки 5.2.864, права, с которыми запускается WCS, подчиняются следующей логике:

...

запускает WCS от пользователя root, если она выполнена с правами root, например.

Code Block
languagebash
themeRDark
sudo systemctl./webcallserver start webcallserver

запускает WCS всегда или от пользователя flashphoner, если он есть в системе2. Командазапущена другим пользователем

Это касается и запуска с выводом на консоль

Code Block
languagebash
themeRDark
./webcallserver start

...

 standalone

Запуск в сборках 5.2.976 и новее

Начиная со сборки 5.2.976, права, с которыми запускается WCS, определяются только настройкой в файле /usr/local/FlashphonerWebCallServer/bin/setenv.sh:

При значении по умолчанию

Code Block
languagebash
themeRDark
sudo ./webcallserver start

или от пользователя flashphoner, если запущена другим пользователем

...

WCS_NON_ROOT=true

WCS запускается от пользователя flashphoner

При

Code Block
languagebash
themeRDark
./webcallserver start standalone

Запуск в сборках 5.2.976 и новее

Начиная со сборки 5.2.976, права, с которыми запускается WCS, определяются только настройкой в файле /usr/local/FlashphonerWebCallServer/bin/setenv.sh:

...

RDark
WCS_NON_ROOT=false

WCS запускается от пользователя root.

При этом сервис может стартовать от пользователя root, смена пользователя для запуска Java производится автоматически.

Изменение режима запуска

В сборке 5.2.1255 добавлена команда для изменения режимов запуска:

  • переключение в режим запуска от пользователя root  
Code Block
languagebash
themeRDark
WCS_NON_ROOT=true

WCS запускается от пользователя flashphoner

...

sudo ./webcallserver set-root-mode enable
  • переключение в режим запуска от пользователя flashphoner 
Code Block
languagebash
themeRDark
WCS_NON_ROOT=false

WCS запускается от пользователя root.

...

sudo ./webcallserver set-root-mode disable

При этом WCS будет остановлен перед внесением изменений в настройки и автоматически запущен после внесения изменений

Настройка прав доступа к каталогам при запуске от пользователя flashphoner

...

Если процесс WCS не ответил на запрос за указанное число пытокзапросов, или ответ отличается от 200 OK, в лог запуска и на консоль будет выведено сообщение

...