Centrifugo là một máy chủ nhắn tin miễn phí, mã nguồn mở và thời gian thực. Nó hỗ trợ WebSocket và SockJS để tạo kết nối từ các ứng dụng khách thông qua trình duyệt web. Nó nhanh và có thể xử lý hàng triệu kết nối đồng thời. Nó có thể dễ dàng tích hợp ứng dụng hiện tại của bạn. Nó không phụ thuộc vào ngôn ngữ và API của nó có thể được sử dụng từ bất kỳ ngôn ngữ lập trình nào.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Centrifugo trên máy chủ Ubuntu 20.04.
Sau khi máy chủ của bạn được cập nhật, bạn có thể tiến hành bước tiếp theo.
Bạn có thể tải xuống phiên bản Centrifugo mới nhất bằng lệnh sau:
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển tệp nhị phân Centrifugo vào thư mục /usr/bin:
Bây giờ, hãy xác minh phiên bản Centrifugo bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Lệnh này sẽ tạo tệp config.json trong thư mục làm việc hiện tại của bạn. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Lưu ý: Ghi lại admin_password từ đầu ra ở trên. Bạn sẽ cần mật khẩu này để đăng nhập vào giao diện web.
Tiếp theo, tạo một thư mục cho Centrifugo bằng lệnh sau:
Tiếp theo, sao chép tệp config.json vào thư mục /etc/centrifugo:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Tiếp theo, khởi động dịch vụ Centrifugo và cho phép dịch vụ này khởi động khi khởi động lại hệ thống:
Bạn có thể kiểm tra trạng thái của dịch vụ Centrifugo bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Lúc này, dịch vụ Centrifugo đã được khởi động và đang lắng nghe trên cổng 8000. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Cung cấp mật khẩu quản trị viên của bạn và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Centrifugo trên trang sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Centrifugo trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
Cài đặt Centrifugo
Theo mặc định, gói Centrifugo không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần tải xuống tệp nhị phân của nó từ kho lưu trữ Git.Bạn có thể tải xuống phiên bản Centrifugo mới nhất bằng lệnh sau:
Mã:
wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.4/centrifugo_2.8.4_linux_amd64.tar.gz
Mã:
tar -xvzf centrifugo_2.8.4_linux_amd64.tar.gz
Mã:
mv centrifugo /usr/bin
Mã:
centrifugo version
Mã:
Centrifugo v2.8.4 (Phiên bản Go: go1.16.3)
Cấu hình Centrifugo
Tiếp theo, bạn sẽ cần tạo tệp cấu hình Centrifugo. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
centrifugo genconfig
Mã:
cat config.json
Mã:
{ "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": []}
Tiếp theo, tạo một thư mục cho Centrifugo bằng lệnh sau:
Mã:
mkdir /etc/centrifugo
Mã:
mv config.json /etc/centrifugo/config.json
Tạo Systemd ServiceFile cho Centrifugo
Tiếp theo, bạn sẽ cần tạo một tệp dịch vụ systemd để quản lý dịch vụ Centrifugo. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/centrifugo.service
Mã:
[Unit]Description=Centrifugo Websocket ServerAfter=network.target syslog.target[Service]LimitNOFILE=30000ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.jsonExecStart=/usr/bin/centrifugo --config /etc/centrifugo/config.json --adminExecReload=/bin/kill -HUP $MAINPIDExecStop=/bin/kill -SIGTERM $MAINPIDTimeoutStopSec=5KillMode=control-groupRestartSec=2Restart=alwaysSyslogIdentifier=centrifugo[Install]WantedBy=multi-user.targetAlias=centrifugo.service
Mã:
systemctl daemon-reload
Mã:
systemctl start centrifugo
systemctl enable centrifugo
Mã:
systemctl status centrifugo
Mã:
? centrifugo.service - Máy chủ Centrifugo Websocket Đã tải: đã tải (/etc/systemd/system/centrifugo.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2021-05-22 10:01:52 UTC; 4 giây trước Tiến trình: 3024 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS) PID chính: 3040 (centrifugo) Nhiệm vụ: 6 (giới hạn: 2353) Bộ nhớ: 7,8M CGroup: /system.slice/centrifugo.service ??3040 /usr/bin/centrifugo --config /etc/centrifugo/config.json --admin22 tháng 5 10:01:51 ubuntu2004 systemd[1]: Đang khởi động Centrifugo Websocket Server...22 tháng 5 10:01:52 ubuntu2004 systemd[1]: Đã khởi động Centrifugo Websocket Server.22 tháng 5 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","version":"2.8.4","runtime":"go1.16.3","pid":3040,"engine":"Memory","gomaxprocs":>22 tháng 5 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-05-22T10:01:52Z","message":"usi>22 tháng 5 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","time":"2021-05-22T10:01:52Z","message":"serving websocket, SockJS, API, admin en>
Mã:
ss -tunelp | grep 8000
Mã:
tcp LISTEN 0 4096 *:8000 *:* users:(("centrifugo",pid=3040,fd=3)) ino:26878 sk:c v6only:0
Truy cập Giao diện người dùng web Centrifugo
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Centrifugo bằng URL . Bạn sẽ được chuyển hướng đến trang đăng nhập Centrifugo:Cung cấp mật khẩu quản trị viên của bạn và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Centrifugo trên trang sau: