Cara Menjalankan WebSocket dengan Node.js di cPanel

Pengantar

WebSocket adalah protokol komunikasi yang menyediakan saluran komunikasi dua arah secara penuh (full-duplex) antara klien dan server. Dalam pengembangan aplikasi real-time seperti chat, notifikasi, game, atau dashboard live-data, WebSocket jauh lebih efisien dibandingkan HTTP biasa.

Prasyarat

  1. Hosting mendukung Node.js (layanan shared hosting di Plasawebhost sudah dilengkapi fitur Setup Node.js App).
  2. Port WebSocket sudah dibuka oleh provider.
  3. Domain/subdomain aktif (SSL opsional tapi disarankan).
  4. Akses ke Terminal (SSH) di cPanel.

Cara Menjalankan WebSocket dengan Node.js di cPanel

  1. Login ke cPanel
  2. Cari menu "Setup Node.js App".
  3. Klik "Create Application" dan isi data berikut:
    1. Application Mode: Production
    2. Node.js version: pilih versi yang didukung (misal 18.x)
    3. Application root: misalnya myapp
    4. Application URL: pilih domain/subdomain yang ingin digunakan
    5. Application startup file: misalnya server.js
  4. Klik Create dan tunggu sampai environment selesai dibuat. 

  5. Masuk ke File Manager, buka folder myapp dan edit server.js dengan kode berikut
    const express = require('express');
    const http = require('http');
    const WebSocket = require('ws');
    
    // Buat server WebSocket di port 3001
    const app = express();
    const server = http.createServer(app);
    const wss = new WebSocket.Server({ server });
    
    
    // Saat koneksi client masuk
    app.use(express.static('public'));
    
    app.get('/', (req, res) => {
      res.send('Hello WebSocket');
    });
    wss.on('connection', (ws) => {
      console.log('Client connected');
    
      // Kirim pesan ke client
      ws.send('Hello from server!');
    
      // Tangkap pesan dari client
      ws.on('message', (message) => {
        console.log('Received from client:', message);
      });
    
      // Saat client disconnect
      ws.on('close', () => {
        console.log('Client disconnected');
      });
    });
    
    server.listen(process.env.PORT || 3001, () => {
      console.log('Server running...');
    });

     

  6. Buat file Package.json dan isi dengan kode berikut
    {
      "name": "myapp",
      "version": "1.0.0",
      "main": "server.js",
      "scripts": {
        "start": "node server.js"
      },
      "dependencies": {
        "express": "^4.21.2",
        "ws": "^8.18.3"
      }
    }

     
  7. Install Module WebSocket
    1. Copy virtual environment dihalaman Node.js 

    2. Masuk ke terminal masuk ke folder myapp dengan perintah yang sudah kita copy sebelumnya, dan install module 
      source /home/pwh/nodevenv/myapp/18/bin/activate && cd /home/pwh/myapp
      npm install ws

      Ini akan mengunduh dan menginstall library ws, yaitu library WebSocket untuk Node.js

  8. Jalankan Node.js 
    Sebelum menjalankan Node.js anda harus mengetahui bahwa terdapat 2 metode yang bisa digunakan 
    1. Metode Terminal 
      Anda bisa menjalankan Node.js lewat terminal dengan menggunakan perintah berikut
      npm run start 

      CATATAN: Jika anda menjalankan Node.js lewat terminal, saat anda mengakses melalui browser anda harus menyertakan Portnya. Contoh https://namadomainanda.com:3001

    2. Metode cPanel
      Buka Setup Node.js di cPanel, kemudian klik Start App

      Jika anda menggunakan metode ini anda bisa mengakses melalui browser tanpa harus menyertakan Portnya. Contoh https://namadomainanda.com 

Kesimpulan

Menjalankan WebSocket di cPanel dengan Node.js sebenarnya sangat memungkinkan, asalkan anda menggunakan layanan Plasawebhost yang sudah mendukung fitur Node.js dan membuka port yang dibutuhkan. Dengan mengikuti langkah di atas, anda sudah bisa menjalankan aplikasi real-time seperti chat, notifikasi, atau game backend dengan protokol WebSocket langsung dari cPanel.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Admin Finance : +6285191239466