• 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

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.3k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.9k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.2k views
  • Cara Reset Password ZTE F609 Indihome 147.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.6k views

Kategori

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

Sponsor

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