...
Если серверный процесс запущен и в логах нет ошибок, это означает что WCS сервер готов к работе и можно начинать тестирование.
Способы запуска
Запуск
...
как сервиса
Запуск WCS как сервиса осуществляется командой:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo systemctl start webcallserver |
Начиная со сборки 5.2.801, WCS запускается как сервис от пользователя flashphoner для большей безопасности.
Кроме этого запуск может быть осуществлен командой:
Code Block | ||||
---|---|---|---|---|
| ||||
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, при необходимости. может послать сигнал для остановки основного процесса непосредственно ему
Автоматический перезапуск сервиса при сбоях
В сборке 5.2.1562 добавлен автоматический перезапуск сервиса webcallserver.service
в тех случаях, когда сервис по каким-либо причинам перешел в статус failed
. Предпринимается до 5 попыток перезапуска в случае, если между попытками проходит не более 2 минут.
Сервис по-прежнему может быть остановлен или запущен вручную. Если сервис остановлен вручную, попытки перезапуска предприниматься не будут.
Автоматический перезапуск может быть отключен командой
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver set-service-restart disable |
Запуск из командной строки
При необходимости, запуск WCS может быть осуществлен командой:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start |
Этот способ запуска полезен при отладке и тестировании.
Настройка переменных окружения
Подготовка запуска и переменных окружения происходит в скрипте setenv.sh. В этом скрипте могут быть заданы дополнительные параметры для WCS Core. Кроме того, здесь же задается параметр, предотвращающий утечки памяти на многопроцессорных системах:
Code Block | ||||
---|---|---|---|---|
| ||||
MALLOC_ARENA_MAX=4 |
Запуск с выводом в stdout
В некоторых случаях, например когда сервер не стартует и не выдает никаких ошибок, требуется запуск с прямым выводом в консоль stdout
. Прямой вывод в stdout
не может использоваться в промышленной эксплуатации, т.к. при закрытии консоли или потере SSH-соединения сервер будет остановлен. Поэтому рекомендуется использовать прямой вывод в stdout
только в целях отладки.
Для того чтобы запустить сервер в данном режиме, необходимо выполнить команду:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start standalone |
Запуск с выводом лога JVM в файл
В сборке 5.2.1562 добавлена возможность запустить WCS с выводом лога JVM в файл, аналогично прямому выводу в stdout
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin sudo sudo systemctl start webcallserver |
запускает WCS всегда от пользователя flashphoner, если он есть в системе
2. Команда
Code Block | ||||
---|---|---|---|---|
| ||||
./webcallserver start standalone |
Запуск с различными правами пользователя
Запуск в сборках 5.2.864-5.2.972
Начиная со сборки 5.2.864, права, с которыми запускается WCS, подчиняются следующей логике:
...
запускает WCS от пользователя root, если она выполнена с правами root, например.
Code Block | ||||
---|---|---|---|---|
| ||||
sudo systemctl./webcallserver start webcallserver |
запускает WCS всегда или от пользователя flashphoner, если он есть в системе2. Командазапущена другим пользователем
Это касается и запуска с выводом на консоль
Code Block | ||||
---|---|---|---|---|
| ||||
./webcallserver start |
...
standalone |
Запуск в сборках 5.2.976 и новее
Начиная со сборки 5.2.976, права, с которыми запускается WCS, определяются только настройкой в файле /usr/local/FlashphonerWebCallServer/bin/setenv.sh
:
При значении по умолчанию
Code Block | ||||
---|---|---|---|---|
| ||||
sudo ./webcallserver start |
или от пользователя flashphoner, если запущена другим пользователем
...
WCS_NON_ROOT=true |
WCS запускается от пользователя flashphoner
При
Code Block | ||||
---|---|---|---|---|
| ||||
./webcallserver start standalone |
Запуск в сборках 5.2.976 и новее
Начиная со сборки 5.2.976, права, с которыми запускается WCS, определяются только настройкой в файле /usr/local/FlashphonerWebCallServer/bin/setenv.sh
:
...
| ||
WCS_NON_ROOT=false |
WCS запускается от пользователя root.
При этом сервис может стартовать от пользователя root, смена пользователя для запуска Java производится автоматически.
Изменение режима запуска
В сборке 5.2.1255 добавлена команда для изменения режимов запуска:
- переключение в режим запуска от пользователя
root
Code Block | ||||
---|---|---|---|---|
| ||||
WCS_NON_ROOT=true |
WCS запускается от пользователя flashphoner
...
sudo ./webcallserver set-root-mode enable |
- переключение в режим запуска от пользователя
flashphoner
Code Block | ||||
---|---|---|---|---|
| ||||
WCS_NON_ROOT=false |
WCS запускается от пользователя root.
...
sudo ./webcallserver set-root-mode disable |
При этом WCS будет остановлен перед внесением изменений в настройки и автоматически запущен после внесения изменений
Настройка прав доступа к каталогам при запуске от пользователя flashphoner
...
Если процесс WCS не ответил на запрос за указанное число пытокзапросов, или ответ отличается от 200 OK, в лог запуска и на консоль будет выведено сообщение
...