溫馨提示×

Linux下Node.js的集群如何搭建

小樊
37
2025-06-17 07:10:47
欄目: 編程語言

在Linux下使用Node.js搭建集群,可以通過Node.js內置的cluster模塊來實現。cluster模塊允許你創建多個工作進程(worker processes),這些進程共享同一個服務器端口,從而實現負載均衡和高可用性。

以下是一個簡單的示例,演示如何在Linux下使用Node.js的cluster模塊搭建一個基本的集群:

  1. 創建一個Node.js腳本: 首先,創建一個名為server.js的文件,并添加以下代碼:

    const cluster = require('cluster');
    const http = require('http');
    const numCPUs = require('os').cpus().length;
    
    if (cluster.isMaster) {
      console.log(`Master ${process.pid} is running`);
    
      // Fork workers.
      for (let i = 0; i < numCPUs; i++) {
        cluster.fork();
      }
    
      cluster.on('exit', (worker, code, signal) => {
        console.log(`worker ${worker.process.pid} died`);
      });
    } else {
      // Workers can share any TCP connection
      // In this case it is an HTTP server
      http.createServer((req, res) => {
        res.writeHead(200);
        res.end('hello world\n');
      }).listen(8000);
    
      console.log(`Worker ${process.pid} started`);
    }
    

    這個腳本的工作原理如下:

    • 如果當前進程是主進程(master),它會根據CPU核心數創建相應數量的工作進程(workers)。
    • 每個工作進程都會啟動一個HTTP服務器,監聽8000端口。
    • 當客戶端請求到達時,任意一個工作進程都會處理該請求。
  2. 運行腳本: 在終端中運行以下命令來啟動集群:

    node server.js
    

    你應該會看到類似以下的輸出:

    Master 12345 is running
    Worker 12346 started
    Worker 12347 started
    Worker 12348 started
    

    這表明主進程已經成功創建了多個工作進程。

  3. 測試集群: 你可以使用瀏覽器或curl命令來測試集群是否正常工作。例如,在瀏覽器中訪問http://localhost:8000,你應該會看到“hello world”消息。

通過這種方式,你可以在Linux下使用Node.js的cluster模塊輕松搭建一個多進程的集群,從而提高應用的性能和可靠性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女