Как установить Centrifugo на Ubuntu 20.04 LTS

Как установить Centrifugo на Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить Centrifugo на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Centrifugo — это масштабируемый сервер обмена сообщениями в реальном времени, не зависящий от языка. Его можно использовать как бесплатную альтернативу сервисам pusher.com. Centrifugo поддерживает WebSocket и SockJS. Соединения Websocket или SockJS от клиентов приложений (из веб-браузеров или других сред, таких как приложения iOS / Android). Когда вам нужно доставить событие своим клиентам в режиме реального времени, вы публикуете его в Centrifugo API, и Centrifugo затем транслирует событие всем подключенным клиентам, заинтересованным в этом событии (т. Е. Клиентам, подписавшимся на канал событий). Другими словами — это сервер PUB / SUB, обращенный к пользователю.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Centrifugo на сервере Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.

Установите Centrifugo на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade

Шаг 2. Установка Centrifugo на Ubuntu 20.04.

Теперь скачиваем последнюю версию пакетов Centrifugo с Github:

wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.4/centrifugo_2.8.4_linux_amd64.tar.gz
tar zxvf centrifugo_2.8.4_linux_amd64.tar.gz

Подтвердите успешную установку, проверив версию программного обеспечения:

centrifugo version

Далее редактируем конфигурацию Centrifugo:

./centrifugo genconfig

Добавьте следующую строку:

{"v3_use_offset": true, "token_hmac_secret_key": "145191ff-272a-421b-95af-b006c554813e", "admin_password": "0e539f48-godet-4c3f-afcd-62d0f5cbf9f2", "admin_secret": "b1bb30a7-mei-4dc0-9a88-2b27d8d25abf", "api_key": "e005dbe1-d5d2-464b-a406-e1cc617ea8d0"}

Теперь запустите Centrifugo с включенной админ-панелью:

./centrifugo --config config.json --admin

Доступ к консоли администратора веб-интерфейса Centrifugo:

http://your-server-ip-address:8000

Шаг 3. Создайте сервисную единицу Systemd.

Теперь мы создаем systemdслужбу, так как ее будет легко запустить при загрузке, запуске и остановке службы:

nano /lib/systemd/system/centrifugo.service

Добавьте следующую строку:

[Unit]Description=Centrifugo Websocket ServerAfter=network.target syslog.target
 [Service]User=[USERNAME]Group=[USERNAME]LimitNOFILE=30000
 Environment="CONFIG=/home/[USERNAME]/config.json"ExecStartPre=/home/[USERNAME]/centrifugo checkconfig --config $CONFIGExecStart=/home/[USERNAME]/centrifugo --config $CONFIG --adminExecReload=/bin/kill -HUP $MAINPIDExecStop=/bin/kill -SIGTERM $MAINPIDTimeoutStopSec=5KillMode=control-groupRestartSec=2Restart=alwaysSyslogIdentifier=centrifugo
 [Install]WantedBy=multi-user.targetAlias=centrifugo.service

Сохраните и закройте, а также перезагрузите  systemdсервисы:

sudo systemctl daemon-reload
sudo systemctl start centrifugo
sudo systemctl enable centrifugo

Поздравляю! Вы успешно установили Centrifugo. Благодарим за использование этого руководства по установке Centrifugo в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Centrifugo .