centos

CentOS 上 Node.js 项目怎么部署

小樊
44
2025-06-24 09:18:55
栏目: 编程语言

在 CentOS 上部署 Node.js 项目通常涉及以下几个步骤:

  1. 安装 Node.js: 首先,你需要在 CentOS 系统上安装 Node.js。你可以使用 NodeSource 提供的 Node.js 二进制分发库来安装特定版本的 Node.js。

    # 导入 NodeSource 仓库的 GPG 密钥
    curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
    
    # 安装 Node.js
    sudo yum install -y nodejs
    

    请将 setup_14.x 替换为你想要安装的 Node.js 版本,例如 setup_16.x

  2. 上传项目: 使用 SCP、SFTP 或其他文件传输方法将你的 Node.js 项目上传到 CentOS 服务器上。

  3. 安装依赖: 在项目目录中,运行以下命令来安装项目的 npm 依赖:

    npm install
    
  4. 配置环境变量(可选): 如果你的项目需要特定的环境变量,比如数据库连接字符串或其他敏感信息,你应该在服务器上设置这些环境变量。你可以在 ~/.bashrc/etc/profile.d/ 下创建一个 .sh 文件来设置环境变量。

    export NODE_ENV=production
    export DATABASE_URL=mongodb://user:password@localhost:27017/mydatabase
    

    然后,使环境变量生效:

    source ~/.bashrc
    
  5. 启动项目: 使用 npm start 命令启动你的 Node.js 应用程序。你也可以使用进程管理器如 PM2 来管理你的应用,这样可以确保应用在后台运行,并且在出现故障时自动重启。

    # 使用 pm2 启动应用
    pm2 start app.js --name "my-app"
    
    # 查看应用状态
    pm2 status
    
    # 查看日志
    pm2 logs my-app
    
  6. 配置反向代理(可选): 如果你打算通过 HTTP/HTTPS 访问你的 Node.js 应用,你可能需要配置一个反向代理服务器,如 Nginx 或 Apache。这样可以在 Node.js 应用和客户端之间提供一个中间层,处理静态文件、SSL 加密、负载均衡等。

    以下是一个简单的 Nginx 配置示例,用于将流量代理到 Node.js 应用:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    

    example.com 替换为你的域名,并将 localhost:3000 替换为你的 Node.js 应用监听的地址和端口。

  7. 设置防火墙规则(可选): 如果你的服务器启用了防火墙,确保开放了 Node.js 应用监听的端口。

    sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
    sudo firewall-cmd --reload
    

    3000 替换为你的 Node.js 应用实际监听的端口。

完成以上步骤后,你的 Node.js 应用应该已经在 CentOS 上部署并运行了。记得定期检查应用的日志和性能,并根据需要进行维护和更新。

0
看了该问题的人还看了