...
Если серверный процесс запущен и в логах нет ошибок, это означает что 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 | ||||
---|---|---|---|---|
| ||||
MALLOC_ARENA_MAX=4 |
Запуск с выводом в stdout
...
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver start |
Этот способ запуска полезен при отладке и тестировании.
Настройка переменных окружения
Подготовка запуска и переменных окружения происходит в скрипте setenv.sh. В этом скрипте могут быть заданы дополнительные параметры для WCS Core. Кроме того, здесь же задается параметр, предотвращающий утечки памяти на многопроцессорных системах:
Code Block | ||||
---|---|---|---|---|
| ||||
MALLOC_ARENA_MAX=4 |
Запуск с выводом в stdout
В некоторых случаях, например когда сервер не стартует и не выдает никаких ошибок, требуется запуск с прямым логгированием в консоль 'stdout'. Прямой вывод в stdout не может использоваться в production т.к. при закрытии консоли или потере SSH-соединения сервер будет остановлен. Поэтому рекомендуется использовать вывод 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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
sudo systemctl start webcallserver |
запускает WCS всегда от пользователя flashphoner, если он есть в системе
2. Команда
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin sudo ./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
...