Ki jan yo enstale Centrifugo Messaging Server sou Ubuntu 20.04

Santrifujeur se yon sèvè messagerie an tan reyèl évolutive. Centrifugo travay an konjonksyon avèk backend aplikasyon ki ekri nan nenpòt langaj pwogramasyon. Li kouri kòm yon sèvis separe epi li kenbe koneksyon ki pèsistan Websocket oswa SockJS soti nan kliyan aplikasyon yo. Lè ou bezwen delivre yon evènman bay kliyan ou an tan reyèl, ou pibliye l nan Centrifugo API. Lè sa a, Centrifugo difize evènman an bay tout kliyan konekte ki enterese nan evènman sa a (sa vle di kliyan abònman sou chanèl evènman an).

Nan gid sa a, ou pral aprann kijan pou enstale Centrifugo sou sèvè Ubuntu 20.04.

Kondisyon

  • Aksè rasin oswa privilèj sudo.
  • Ubuntu 20.04 LTS. (21.04 travay ak gid sa a)
  • WGET kòmandman
sudo apt update && sudo apt upgrade -y \
sudo apt install wget

reklam


Telechaje Centrifugo

Repozitwa Ubuntu pa gen ladan Centrifugo, kidonk w ap bezwen telechaje sous la nan depo GIT li yo. Li rekòmande pou tcheke paj la Releases kòm egzanp gid anba a Centrifugo vèsyon ka demode. Yon fwa ou te vizite a Lage paj epi li te resevwa dènye lyen an, tape sa ki annapre yo.

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

Yon fwa telechaje a fini, ekstrè fichye telechaje a pa tape lòd sa a.

tar -xvzf centrifugo_2.8.5_linux_amd64.tar.gz

Enstale Centrifugo

Koulye a, w ap bezwen deplase binè Centrifugo a nan anyè /usr/bin:

sudo mv centrifugo /usr/bin

Anfen, ou ta dwe verifye vèsyon an pou asire ke li enstale ak tout bagay ap travay kòrèkteman jiskaprezan.

centrifugo version

Egzanp pwodiksyon:

~$ centrifugo version
 Centrifugo v2.8.5 (Go version: go1.16.4)

reklam


Konfigirasyon Centrifugo

Pou konfigirasyon Centrifugo, li trè senp. Premyèman, ou bezwen jenere fichye konfigirasyon an, men pito, ann kreye yon anyè pou kenbe fichye konfigirasyon yo.

sudo mkdir -p /etc/centrifugo && cd /etc/centrifugo

Lè sa a, ou ka jenere fichye a konfigirasyon pa tape.

sudo centrifugo genconfig

Apre w fin antre nan lòd sa a, li pral jenere yon fichye config.json nan anyè ou te espesifye a.

Ou ka verifye fichye a lè w tape kòmandman CAT sa a.

cat config.json

Ou ta dwe jwenn pwodiksyon sa a:

:/etc/centrifugo$ cat config.json
 {
   "v3_use_offset": true,
   "token_hmac_secret_key": "4bfd92e6-9526-474a-877b-0730c55f37ea",
   "admin_password": "1fe1f1f3-df96-4bfe-b383-bfe7a8408660",
   "admin_secret": "5ce4d2cd-2db9-4ad9-a6c6-6c6dfe1160a6",
   "api_key": "fcb8ff4f-64be-4918-bb57-711fdfc852cb",
   "allowed_origins": []
 }

Pran nòt ou "modpas admin", jan w ap bezwen li pou w konekte nan UI entènèt la. Sove tout la rekòmande.

Kreye Systemd Service File pou Centrifugo

Dènye pati nan mete kanpe Centrifugo se kreye yon dosye sèvis Systemd. Nou pral sèvi ak editè tèks nano pou sa.

sudo nano /etc/systemd/system/centrifugo.service

Yon fwa ou gen editè nano ak dosye a louvri, tape opinyon sa a nan dosye a.

[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

Peze CTRL + O, Lè sa a, antre "Y", ki pral sove done yo antre nan fichye a, Lè sa a, peze CTRL + X pou sòti nan dosye a.

Koulye a, ou pral bezwen rechaje demon an, ki se fè pa lòd sa a.

sudo systemctl daemon-reload

Apre sa, kòmanse pwosesis sistèm lan epi pandan w ap li, pèmèt sèvis la sou demaraj si ou prefere.

sudo systemctl start centrifugo && sudo systemctl enable centrifugo

Yon fwa ke sèvis la te kòmanse, tcheke sèvis la pou asire w ke tout ap mache byen.

systemctl status centrifugo

Ou ta dwe wè pwodiksyon sa a:

● centrifugo.service - Centrifugo Websocket Server
      Loaded: loaded (/etc/systemd/system/centrifugo.service; disabled; vendor preset: enabled)
      Active: active (running) since Wed 2021-06-23 00:47:38 PDT; 4s ago
     Process: 20356 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS)
    Main PID: 20361 (centrifugo)
       Tasks: 7 (limit: 4617)
      Memory: 8.0M
      CGroup: /system.slice/centrifugo.service
              └─20361 /usr/bin/centrifugo --config /etc/centrifugo/config.json --admin
 Jun 23 00:47:38 ubuntu systemd[1]: Starting Centrifugo Websocket Server…
 Jun 23 00:47:38 ubuntu systemd[1]: Started Centrifugo Websocket Server.
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","version":"2.8.5","runtime":"go1.16.4","pid":20361,"engine":"Memory","gomaxprocs":2,"time":"2021-06-23T00:47:38-07:>
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-06-23T00:47:38-07:00","message":"using config file"}
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","time":"2021-06-23T00:47:38-07:00","message":"serving websocket, SockJS, API, admin endpoints on :8000"}
 ~

Pa default, sèvis Centrifugo koute pò 8000.


reklam


Kouri Centrifugo ak Admin Panel

Koulye a, ou ka konekte nan panèl UI entènèt ou an. Sa a ka fè lè w louvri sa ki annapre yo nan navigatè w la. Sonje byen, ou bezwen modpas ki soti nan fichye konfigirasyon an jan yo mansyone pi bonè nan gid la.

http://IP-ADDRESS:8000
 or
 http://example.com:8000
Santrifij konekte

Apre ou fin konekte, ou pral wè enfòmasyon jeneral sou sèvis Centrifugo nan UI a.

Santrifij entènèt ui

Kòmantè ak konklizyon

Nan gid la, ou te aprann ki jan yo enstale ak mete kanpe Centrifugo. Aplikasyon an tèt li se eksepsyonèl pou travay sou tout kalite sistèm back-end kote ou ka gen plizyè sistèm diferan nan anviwònman pwodiksyon an. Lojisyèl nan tèt li byen devlope ak pou yon chat gratis mesaj enstantane.

Ou ka jwenn enfòmasyon sou konfigirasyon kliyan ak entegrasyon nan Centrifugo la dokiman.

Leave a Comment