温馨提示×

如何在CentOS上配置Node.js多实例运行

小樊
52
2025-07-30 18:46:19
栏目: 编程语言

在CentOS上配置Node.js多实例运行可以通过多种方式实现,以下是两种常见的方法:

方法一:使用不同的端口

  1. 安装Node.js: 如果你还没有安装Node.js,可以使用以下命令安装:

    sudo yum install -y nodejs npm
    
  2. 创建多个Node.js应用: 假设你有两个Node.js应用,分别位于/var/www/app1/var/www/app2

  3. 配置不同的端口: 编辑每个应用的启动脚本,确保它们监听不同的端口。例如:

    • 对于app1,编辑/var/www/app1/app.js

      const express = require('express');
      const app = express();
      const port = 3001; // 确保这个端口没有被其他应用使用
      
      app.get('/', (req, res) => {
        res.send('Hello from App 1!');
      });
      
      app.listen(port, () => {
        console.log(`App 1 listening at http://localhost:${port}`);
      });
      
    • 对于app2,编辑/var/www/app2/app.js

      const express = require('express');
      const app = express();
      const port = 3002; // 确保这个端口没有被其他应用使用
      
      app.get('/', (req, res) => {
        res.send('Hello from App 2!');
      });
      
      app.listen(port, () => {
        console.log(`App 2 listening at http://localhost:${port}`);
      });
      
  4. 启动应用: 使用node命令分别启动每个应用:

    node /var/www/app1/app.js
    node /var/www/app2/app.js
    

方法二:使用进程管理器(如PM2)

PM2是一个非常流行的Node.js进程管理器,可以帮助你管理和监控多个Node.js应用。

  1. 安装PM2

    sudo npm install pm2 -g
    
  2. 启动应用: 使用PM2启动你的Node.js应用,并为每个应用指定一个名称和不同的端口。例如:

    • 启动app1

      pm2 start /var/www/app1/app.js --name "app1" --watch --exec "node"
      
    • 启动app2

      pm2 start /var/www/app2/app.js --name "app2" --watch --exec "node"
      
  3. 查看应用状态: 使用以下命令查看所有应用的运行状态:

    pm2 list
    
  4. 停止或重启应用: 你可以使用PM2来停止或重启特定的应用:

    pm2 stop app1
    pm2 restart app2
    

通过以上两种方法,你可以在CentOS上配置Node.js多实例运行。选择哪种方法取决于你的具体需求和偏好。

0