Versions Compared

Key

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

Include PageWCS5RU:WCS-сервер может быть развернут в Amazon Elastic Compute Cloud (EC2WCS5RU:WCS-сервер в Amazon EC2) тремя способами:

Table of Contents

Настройка виртуальной машины и установка WCS с нуля

Этим способом можно воспользоваться, если Вам необходима более тонкая настройка операционной системы, установка дополнительный компонентов и т.п. Запустите виртуальную машину Linux по инструкции от AWS, настройте ее по необходимости, затем установите WCS по краткой или подробной инструкции.

Развертывание готового образа WCS из Amazon AWS Marketplace

1. Откройте страницу Web Call Server на Amazon AWS Marketplace, нажмите Continue to Subscribe:

Image Added

2. Откроется страница с описанием продукта и почасовой стоимостью в зависимости от выбранной конфигурации сервера. Нажмите Continue to Configuration:

Image Added

3. Откроется страница конфигурации сервера. Выберите регион размещения сервера и нажмите Continue to Launch:

Image Added

4. Откроется страница запуска сервера. Выберите тип виртуальной машины, который будет использован для создания экземпляра сервера.

Image Added

5. Прокрутите страницу до настройки Security Group Settings, нажмите Create New Based On Seller Settings:

Image Added

6. Отобразится страница создания Security Group. Укажите имя группы, описание и нажмите Save.

Image Added

7. Выберите новую группу в выпадающем списке:

Image Added

8. Нажмите Launch:

Image Added

9. Отобразится сообщение об успешном запуске:

Image Added

10. Нажмите на ссылку EC2 Console. В разделе Instances найдите запущенную виртуальную машину:

Image Added

11. Откройте в браузере адрес веб-интерфейса запущенного WCS-сервера https://host.amazonaws.com:8888, примите исключение безопасности. В качестве пароля администратора используйте Instance ID запущенной виртуальной машины:

Image Added

12. Проверьте публикацию и воспроизведение WebRTC-потока с веб-камеры на примере Two Way Streaming:

Image Added

Развертывание WCS из образа на AWS Marketplace с дополнительной настройкой

Готовый образ WCS на AWS Marketplace содержит лишь базовые настройки. Для изменения настроек необходимо зайти по SSH в созданный экземпляр сервера и перезапустить WCS. Для получения готового к работе экземпляра "из коробки" можно указать пользовательский скрипт для изменения настроек при первом запуске сервера. Эта возможность полезна, например, при развертывании группы масштабирования.

1. В EC2 Console перейдите в раздел "Instances - Instances" и нажмите "Launch instance"

Image Added

2. Выберите образ, указав при поиске "Web Call Server"

Image Added

3. Просмотрите информацию об образе

Image Added

4. Выберите тип ВМ

Image Added

5. Прокрутите вниз до конца страницу "Configure Instance Details" и вставьте в поле "User data" скрипт обновления и настройки WCS

Image Added

Пример скрипта, который обновляет WCS до последней сборки и настраивает Origin сервер для публикации WebRTC и RTMP потоков

Code Block
languagebash
themeRDark
titleOrigin setup script
collapsetrue
#!/bin/bash

# Stop WCS before reconfiguring
PID="$(pgrep -f 'com.flashphoner.server.Server' | grep -v bash)"
if [ -n "$PID" ]; then
    service webcallserver stop
fi

# Update WCS to the latest build (optionally, set to false if you don't)
UPDATE=true
if $UPDATE; then
    cd /tmp
    wget --timeout=10 --no-check-certificate https://flashphoner.com/download-wcs5.2-server.tar.gz -O wcs5-server.tar.gz
    if [ $? -eq 0 ]; then
        mkdir -p FlashphonerWebCallServer-5.2-latest && tar xzf wcs5-server.tar.gz -C FlashphonerWebCallServer-5.2-latest --strip-components 1
        cd FlashphonerWebCallServer-5.2-latest
        chmod +x install.sh
        ./install.sh -silent
        cd ..
        rm -rf FlashphonerWebCallServer-5.2-latest wcs5-server.tar.gz
    fi
fi

# Configuration setup
WCS_CONFIG=/usr/local/FlashphonerWebCallServer/conf/flashphoner.properties
JVM_CONFIG=/usr/local/FlashphonerWebCallServer/conf/wcs-core.properties

#CDN settings
CDN_ROLE=origin
CDN_IP=0.0.0.0
echo -e "\ncdn_enabled=true" >> $WCS_CONFIG
echo -e "\ncdn_ip=$CDN_IP" >> $WCS_CONFIG
echo -e "\ncdn_role=$CDN_ROLE" >> $WCS_CONFIG
echo -e "\ncdn_nodes_resolve_ip=false" >> $WCS_CONFIG

# Request keyframes from WebRTC publishers every 5 seconds
echo -e "\nperiodic_fir_request=true" >> $WCS_CONFIG

# Disable RTMP keepalives to publish from OBS
echo -e "\nkeep_alive.enabled=websocket,rtmfp" >> $WCS_CONFIG

# Configure heap settings
HEAP_SIZE=512m
sed -i -e "s/^\(-Xmx\).*\$/\1$HEAP_SIZE/" $JVM_CONFIG

# Start WCS after reconfiguring
PID="$(pgrep -f 'com.flashphoner.server.Server' | grep -v bash)"
if [ -n "$PID" ]; then
    service webcallserver restart
else
    service webcallserver start
fi

# Disable internal firewall, ports are allowed/blocked on security group level
iptables -F

6. Настройте группу безопасности. По умолчанию, группа будет создана из настроек образа. При необходимости, добавьте порты.

Image Added

7. Нажмите "Review and Launch". Если в параметрах нет ошибок, нажмите "Launch"

Image Added

Будет запущен экземпляр сервера.

Image Added

8. Откройте веб интерфейс сервера, опубликуйте поток в примере Two Way Streaming и проиграйте его

Image Added

Известные проблемы

1. При переходе к Amazon Linux 2 AMI в качестве базового образа, для управления сервисами используется systemd

Симптомы: команда

Code Block
languagebash
themeRDark
sudo service webcallserver start

возвращает

Code Block
themeRDark
Redirecting to /bin/systemctl start webcallserver.service

команда

Code Block
languagebash
themeRDark
sudo service webcallserver check_update

не работает

Решение:

a) для запуска, остановки, перезапуска использовать systemctl

Code Block
languagebash
themeRDark
sudo systemctl start webcallserver
sudo systemctl stop webcallserver
sudo systemctl restart webcallserver

b) для проверки обновлений использовать скрипт webcallserver

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