WebSocket Node.js di cPanel: Tips dan Trik Agar Berjalan di cPanel

Pengantar

Dalam era modern pengembangan web, interaktivitas dan real-time communication menjadi kebutuhan utama bagi banyak aplikasi, mulai dari chat online, live notification, hingga dashboard monitoring yang update secara otomatis. Salah satu teknologi yang memungkinkan komunikasi real-time ini adalah WebSocket.

WebSocket memungkinkan browser dan server untuk melakukan komunikasi dua arah secara instan, berbeda dengan metode tradisional seperti HTTP request yang harus selalu menunggu permintaan baru dari klien. Dengan WebSocket, server dapat mendorong data ke klien secara langsung begitu data tersedia, menjadikan pengalaman pengguna lebih cepat dan responsif.

Namun, bagi pengguna shared hosting dengan cPanel, menjalankan WebSocket sering menjadi tantangan. Tidak semua shared hosting mendukung Node.js atau port custom, dan beberapa konfigurasi firewall dapat membatasi koneksi. Artikel ini akan membahas tips dan trik menjalankan WebSocket Node.js di cPanel, termasuk solusi praktis agar WebSocket tetap berjalan di lingkungan shared hosting.

Catatan: Jika Anda mencari layanan hosting yang mendukung Node.js dan WebSocket dengan performa stabil di cPanel, Cloud Hosting cPanel dari Plasawebhost bisa menjadi pilihan yang tepat. Dengan fitur Node.js Application Manager, port yang fleksibel, dan akses SSL mudah, semua trik yang dibahas di artikel ini bisa langsung diterapkan tanpa kendala.

Apa itu WebSocket dan Mengapa Penting

Sebelum membahas cara implementasinya di cPanel, penting memahami dasar WebSocket:

  • Komunikasi Real-Time: WebSocket membuat server bisa mengirim data ke client tanpa menunggu client meminta update. Cocok untuk chat, notifikasi, game online, dan aplikasi dashboard.
  • Efisiensi: Mengurangi overhead HTTP karena koneksi tetap terbuka.
  • Dukungan Browser Modern: Semua browser modern mendukung WebSocket standar, sehingga integrasi frontend menjadi mudah.
  • WebSocket menggunakan protokol ws:// untuk koneksi tanpa SSL dan wss:// untuk koneksi aman berbasis SSL. Koneksi wss:// diperlukan jika website utama menggunakan HTTPS, karena browser modern menolak komunikasi tidak aman di halaman HTTPS.

Tantangan WebSocket di Shared Hosting

Menjalankan WebSocket di shared hosting memiliki beberapa keterbatasan:

  • Port Custom Dibatasi: Banyak provider shared hosting hanya membuka port default seperti 80 (HTTP) dan 443 (HTTPS). Port 3000, 3500, atau port lain biasanya diblokir.
  • Tidak Semua Mendukung Node.js: Beberapa cPanel hanya mendukung PHP. Node.js baru bisa dijalankan di hosting yang memiliki fitur Application Manager.
  • Firewall Internal: Bahkan jika Node.js tersedia, firewall internal bisa mencegah koneksi WebSocket masuk.
  • Tidak Ada Control Penuh: Shared hosting memiliki keterbatasan hak akses root, sehingga konfigurasi server seperti reverse proxy dan SSL perlu trik khusus.
    Meskipun begitu, dengan beberapa tips dan trik, WebSocket tetap bisa berjalan di shared hosting cPanel.

Script WebSocket Node.js

Contoh minimal WebSocket server di app.js. Simpan file ini di /home/userkamu/appwebsocket/app.js

const WebSocket = require("ws");
const wss = new WebSocket.Server({ port: 3700 });

wss.on("connection", ws => {
  console.log("Client connected!");
  ws.send("WebSocket connected!");

  ws.on("message", msg => {
    console.log("Client says:", msg);
    ws.send("Server menerima: " + msg);
  });
});

console.log("WebSocket server berjalan di ws://wsapp.pwhtutorial.web.id:3700");

Tips dan Trik Menjalankan WebSocket di cPanel

Berikut langkah-langkah praktis agar WebSocket Node.js dapat berjalan di shared hosting:

  1. Gunakan Node.js App di cPanel
    Banyak provider sekarang sudah menyediakan fitur Node.js Application di cPanel. Langkahnya:
    1. Masuk ke cPanel → Setup Node.js App
    2. Create Application
    3. Pilih version Node.js yang sesuai (misal v20)
    4. Tentukan root folder aplikasi (misal : appwebsocket)
    5. Pilih Application startup file, biasanya app.js
    6. Klik Create
      Langkah ini akan mempermudah menjalankan Node.js secara resmi di server, sehingga aplikasi WebSocket bisa dijalankan tanpa trik tambahan.
  2. Enter to the virtual environment.To enter to virtual environment, run the command
  3. Buka Terminal
    Paste command diatas
  4. Install library ws:
    npm init -y
    npm install ws
    

  5. Jalankan server:
    node app.js

  6. Pilih Port yang Tepat
    Karena shared hosting membatasi port, gunakan:
    • Port 80 untuk HTTP
    • Port 443 untuk HTTPS/WSS
    • Silahkan anda bisa menghubungi CS Plaswebhost untuk Request Open Port yang anda inginkan.
      di Plasawebhost memberikan 2 open port yang dapat anda Request untuk menjalankan websocket ini.
    • Solusi alternatif adalah menggunakan reverse proxy untuk meneruskan koneksi WebSocket melalui port 443.

Testing WebSocket

Untuk mengetes dari browser:

let ws = new WebSocket("ws://appwebsocket.pwhtutorial.web.id:3700");

ws.onopen = () => {
  console.log("Connected!");
  ws.send("Halo server!");
};

ws.onmessage = m => console.log("Server:", m.data);

Kesimpulan

Menjalankan WebSocket Node.js di shared hosting cPanel memang menantang karena keterbatasan port dan kontrol server. Jika Anda ingin hosting yang siap pakai untuk Node.js dan WebSocket, Cloud Hosting cPanel dari Plasawebhost adalah solusi yang direkomendasikan. Dengan fitur Node.js App Manager, akses port yang fleksibel, dan SSL bawaan, semua trik yang dibahas bisa langsung diterapkan tanpa kendala.

Dengan tips dan trik ini, pengembang bisa menghadirkan pengalaman web interaktif tanpa harus pindah ke VPS atau server dedicated. WebSocket di cPanel bukan lagi hal yang mustahil jika mengetahui trik-trik praktisnya.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Admin Finance : +6285191239466