• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Menginstall Websocket Centrifugo di CentOS 8

Last Updated on 21 July 2020 By tommy Leave a Comment

Centrifugo adalah real-time messaging server yang mudah di scaling dan bisa digunakan oleh bahasa pemrograman apa saja. Bisa digunakan dengan berbagai sistem operasi seperti Linux, Windows dan MacOS.

Dari hasil benchmark 1 server dengan spesifikasi (1 CPU, 1 GB memory) di Linode bisa menghandle 13.000 user.

Install dependency

yum install tar wget -y

Buat User Centrifugo

Untuk menjalankan service centrifugo kita akan membuat user baru dengan nama centrifugo, file konfigurasi centrifugo akan diletakkan di folder /etc/centrifugo

mkdir /etc/centrifugo
useradd --system -U -M centrifugo -s /bin/false -d /etc/centrifugo

Install Centrifugo

Download versi terbaru dari halaman rilis

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

ekstrak file tersebut

tar zxvf centrifugo_2.6.0_linux_amd64.tar.gz

Copy file centrifugo ke /usr/bin

cp centrifugo /usr/bin/

Generate konfigurasi centrifugo

cd /etc/centrifugo
centrifugo genconfig

file baru config.json baru akan dibuat, contoh isi file tersebut

{
  "v3_use_offset": true,
  "token_hmac_secret_key": "09f95a10-72d3-4004-b9c3-58a18bd33607",
  "admin_password": "26d8b652-c5d0-4cc3-be04-d6e14a263bfa",
  "admin_secret": "f624aaab-4211-435c-8d38-bdbc5b8c237f",
  "api_key": "c5bfdd7a-bcac-4720-86d2-ec9c0efc405a",
  "admin": true
}

tambahkan "admin": true dibagian paling bawah, agar kita bisa mengakses UI untuk admin.

Service systemd centrifugo

Untuk menjalankan centrifugo kita akan menggunakan systemd, agar bisa berjalan otomatis setelah reboot, ataupun otomatis restart begitu servicesnya mati.

cat >/lib/systemd/system/centrifugo.service <<'EOL'
[Unit]
Description=Centrifugo services
After=network.target syslog.target
 
[Service]
User=centrifugo
Group=centrifugo
LimitNOFILE=55555
 
Environment="CONFIG=/etc/centrifugo/config.json"
ExecStartPre=/usr/bin/centrifugo checkconfig -c $CONFIG
ExecStart=/usr/bin/centrifugo -c $CONFIG
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -SIGTERM $MAINPID
TimeoutStopSec=10
KillMode=control-group
RestartSec=1
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=centrifugo
 
[Install]
WantedBy=multi-user.target
Alias=centrifugo.service
EOL

reload systemd

systemctl daemon-reload

jalankan service centrifugo

systemctl enable centrifugo
systemctl start centrifugo

Buka firewall

Buka port 8000 (port standart centrifugo), di Firewall

firewall-cmd --zone=public --add-port=8000/tcp --permanent

reload firewall

firewall-cmd --reload

Buka Web Admin Centrifugo

Buka http://IP-SERVER:8000 di browser
halaman login centrifugo
gunakan password yang digenerate diatas contoh 26d8b652-c5d0-4cc3-be04-d6e14a263bfa

halaman admin centrifugo

Contoh Penggunaan

Agar bisa terhubung dengan websocket centrifugo, buat token untuk user di server dengan menjalankan

cd /etc/centrifugo
centrifugo gentoken
# output
HMAC SHA-256 JWT for anonymous user with expiration TTL 168h0m0s:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTU5Mzk5Mzh9.SCChetJdsjK836PksN2RsllwnF5sSHSVX83DHAIOrgU

token jwt websocket

buat file centrifugo-testing.html yang berisi

<html>
    <head>
        <title>Centrifugo - Jaranguda.com</title>
    </head>
    <body>
        <script src="https://cdn.jsdelivr.net/gh/centrifugal/[email protected]/dist/centrifuge.min.js"></script>
        <script type="text/javascript">
            const centrifuge = new Centrifuge("ws://IP-SERVER:8000/connection/websocket");
            centrifuge.setToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTU5Mzk5Mzh9.SCChetJdsjK836PksN2RsllwnF5sSHSVX83DHAIOrgU");
 
            centrifuge.on('connect', function(ctx) {
                console.log("connected", ctx);
            });
 
            centrifuge.on('disconnect', function(ctx) {
                console.log("disconnected", ctx);
            });
 
            centrifuge.connect();
        </script>
    </body>
</html>

ganti IP-SERVER menjadi IP server anda dan setToken hasil dari generate token. Buka centrifugo-testing.html di browser sekarang lihat admin centrifugo sudah muncul Users 1

centrifugo client connected

Tulisan menarik lainnya

  • Menginstall SSL Berbayar di Mikrotik

    Cara untuk menginstall SSL verified di Mikrotik caranya hampir sama dengan menginstall self signed SSL.…

  • Install DNSCrypt 1.4 di CentOS 7

    Sebelum memulai instalasi, kita harus menginstall library-library yang dibutuhkan yum install gcc make automake gcc-c++…

  • Cara Cancel Subscription di PayPal

    Login ke PayPal terlebih dahulu, setelah login klik profile Klik pada tab My Money, lalu…

  • Cara Mount Android di Fedora 22

    Agar Internal/Eksternal Storage android bisa diakses di Fedora, anda harus me-mount android tersebut. Sebelumnya install…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Solusi AWS CLI SSL VALIDATION failed
  • Monitoring Kubernetes Cluster dengan Prometheus
  • Solusi Playwright Firefox version `GLIBCXX_3.4.30′ not found (required by /lib64/libicuuc.so.69)
  • Cara Upgrade Fedora 35 ke Fedora 36
  • Ekstrak Gzip File dan Ambil Total dengan Python

Komentar

  • Xpud on Script PHP untuk Mengambil History Lagu Shoutcast v2.5
  • Jrenx on Membuat Bot Telegram Sederhana dengan PHP
  • Sella on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rian on Mengganti Halaman Error Laravel
  • Suchie on Kemana Menghilangnya Saldo BCA 50 ribu

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1m views
  • Password Terbaru ZTE F609 Indihome 781.5k views
  • Password Superadmin Huawei HG8245A 294.4k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 267.8k views
  • Cara Setting Wireless ZTE F609 Indihome 251k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 165.4k views
  • Akses UseeTV Indihome via Wireless ZTE F609 154.8k views
  • Cara Reset Password ZTE F609 Indihome 146k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 135.3k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 109k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java