如何在 Ubuntu 20.04 上安装 Centrifugo 消息服务器如何在 Ubuntu 20.04 上安装 Centrifugo 消息服务器如何在 Ubuntu 20.04 上安装 Centrifugo 消息服务器如何在 Ubuntu 20.04 上安装 Centrifugo 消息服务器
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 20.04 上安装 Centrifugo 消息服务器

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在此页

  1. 先决条件
  2. 开始
  3. 安装 Centrifugo
  4. 配置 Centrifugo
  5. 为 Centrifugo 创建系统服务文件
  6. 访问 Centrifugo 网络用户界面
  7. 结论

Centrifugo 是一个免费、开源的实时消息传递服务器。它支持 WebSocket 和 SockJS 通过 Web 浏览器与应用程序客户端建立连接。它速度很快,能够处理数百万个并发连接。它可以轻松集成您现有的应用程序。它与语言无关,其 API 可用于任何编程语言。

在本指南中,我们将向您展示如何在 Ubuntu 20.04 服务器上安装 Centrifugo。

先决条件

  • 一台运行 Ubuntu 20.04 的服务器。
  • 在服务器上配置了根密码。

入门

在开始之前,您需要将系统包更新到最新版本。您可以使用以下命令更新它们:

apt-get update -y

服务器更新后,您可以继续下一步。

安装 Centrifugo

默认情况下,Centrifugo 包不包含在 Ubuntu 20.04 默认存储库中。因此,您需要从 Git 存储库下载其二进制文件。

您可以使用以下命令下载最新版本的 Centrifugo:

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

下载完成后,使用以下命令解压缩下载的文件:

tar -xvzf centrifugo_2.8.4_linux_amd64.tar.gz

接下来,将 Centrifugo 二进制文件移动到 /usr/bin 目录:

mv centrifugo /usr/bin

现在,使用以下命令验证 Centrifugo 版本:

centrifugo version

您应该看到以下输出:

Centrifugo v2.8.4 (Go version: go1.16.3)

配置 Centrifugo

接下来,您需要生成 Centrifugo 配置文件。您可以使用以下命令生成它:

centrifugo genconfig

此命令将在您当前的工作目录中生成一个 config.json 文件。您可以使用以下命令检查它:

cat config.json

您应该得到以下输出:

{
  "v3_use_offset": true,
  "token_hmac_secret_key": "03599f21-9737-40bc-821e-afe34c1849ec",
  "admin_password": "51d88406-da91-4aab-979a-c2114b51a14c",
  "admin_secret": "fa12779d-ba9a-48b9-9cff-14bf96ee79b7",
  "api_key": "e667e485-1b46-4a5e-991e-a69729b57d07",
  "allowed_origins": []
}

注意:记下上述输出中的 admin_password。您将需要它来登录到 Web 界面。

接下来,使用以下命令为 Centrifugo 创建一个目录:

mkdir /etc/centrifugo

接下来,将 config.json 文件复制到 /etc/centrifugo 目录:

mv config.json /etc/centrifugo/config.json

完成后,您可以继续下一步。

为 Centrifugo 创建系统服务文件

接下来,您需要创建一个 systemd 服务文件来管理 Centrifugo 服务。您可以使用以下命令创建它:

nano /etc/systemd/system/centrifugo.service

添加以下行:

[Unit]
Description=Centrifugo Websocket Server
After=network.target syslog.target
 
[Service]
LimitNOFILE=30000
ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json
ExecStart=/usr/bin/centrifugo --config /etc/centrifugo/config.json --admin
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -SIGTERM $MAINPID
TimeoutStopSec=5
KillMode=control-group
RestartSec=2
Restart=always
SyslogIdentifier=centrifugo

[Install]
WantedBy=multi-user.target
Alias=centrifugo.service

保存并关闭文件,然后重新加载 systemd 守护进程以应用更改:

systemctl daemon-reload

接下来,启动 Centrifugo 服务并使其在系统重启时启动:

systemctl start centrifugo
systemctl enable centrifugo

您可以使用以下命令检查 Centrifugo 服务的状态:

systemctl status centrifugo

您应该看到以下输出:

? centrifugo.service - Centrifugo Websocket Server
     Loaded: loaded (/etc/systemd/system/centrifugo.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-22 10:01:52 UTC; 4s ago
    Process: 3024 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS)
   Main PID: 3040 (centrifugo)
      Tasks: 6 (limit: 2353)
     Memory: 7.8M
     CGroup: /system.slice/centrifugo.service
             ??3040 /usr/bin/centrifugo --config /etc/centrifugo/config.json --admin

May 22 10:01:51 ubunt4 systemd[1]: Starting Centrifugo Websocket Server...
May 22 10:01:52 ubunt4 systemd[1]: Started Centrifugo Websocket Server.
May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","version":"2.8.4","runtime":"go1.16.3","pid":3040,"engine":"Memory","gomaxprocs":>
May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-05-22T10:01:52Z","message":"usi>
May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","time":"2021-05-22T10:01:52Z","message":"serving websocket, SockJS, API, admin en>

至此,Centrifugo服务已经启动,并监听8000端口,可以通过以下命令查看:

ss -tunelp | grep 8000

您应该得到以下输出:

tcp   LISTEN 0      4096                                  *:8000              *:*       users:(("centrifugo",pid=3040,fd=3)) ino:26878 sk:c v6only:0 <->        

访问 Centrifugo 网络用户界面

现在,打开您的网络浏览器并使用 URL http://your-server-ip:8000 访问 Centrifugo 网络界面。您将被重定向到 Centrifugo 登录页面:

提供您的管理员密码,然后单击“登录”按钮。您应该会在下一页看到 Centrifugo 仪表板:

结论

恭喜!您已经在 Ubuntu 20.04 服务器上成功安装了 Centrifugo 服务器。有关更多信息,您应该阅读 Centrifugo 文档。

©2015-2025 Norria support@alaica.com