如何在 Ubuntu 20.04 LTS 上安装 Centrifugo

在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上安装 Centrifugo。 对于那些不知道的人,Centrifugo 是一个可扩展的实时消息传递服务器,采用与语言无关的方式。 它可以用作 pusher.com 服务的免费替代品。 Centrifugo 支持 WebSocket 和 SockJS。 来自应用程序客户端的 Websocket 或 SockJS 连接(来自 Web 浏览器或其他环境,如 iOS/Android 应用程序)。 当您需要将事件实时传递给您的客户时,您将其发布到 Centrifugo API,然后 Centrifugo 将事件广播给所有对此事件感兴趣的连接客户端(即订阅事件频道的客户端)。 换句话说——这是一个面向用户的 PUB/SUB 服务器。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示如何在 Ubuntu 20.04 (Focal Fossa) 服务器上逐步安装 Centrifugo。 对于 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint),您可以按照相同的说明进行操作。

在 Ubuntu 20.04 LTS Focal Pit 上安装 Centrifuge

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade

步骤 2. 在 Ubuntu 20.04 上安装 Centrifugo。

现在我们从 Github 下载最新版本的 Centrifugo 包:

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 admin 面板启用:

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

访问 Centrifugal Web 界面 admin 安慰:

https://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

Save 和 close, 也重新加载 systemd 服务:

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

恭喜! 您已成功安装 Centrifugo。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 Centrifugo。 如需更多帮助或有用信息,我们建议您查看 Centrifugo 官方网站.