温馨提示×

CentOS上Node.js项目如何部署

小樊
72
2025-04-02 17:50:51
栏目: 编程语言

在CentOS上部署Node.js项目可以通过多种方法实现,以下是几种常见的方法:

使用Docker部署

  1. 安装Docker
  • 确保你的CentOS系统上已经安装了Docker。如果没有安装,可以参考Docker官方文档进行安装。
  1. 创建Dockerfile
  • 在你的Node.js项目根目录下创建一个名为Dockerfile的文件,内容如下:
    # 使用官方的 Node.js 镜像作为基础镜像
    FROM node:14-alpine
    
    # 设置工作目录
    WORKDIR /app
    
    # 复制 package.json 和 package-lock.json 到工作目录
    COPY package*.json .
    
    # 安装项目依赖
    RUN npm install
    
    # 复制项目代码到工作目录
    COPY . .
    
    # 构建生产环境的应用程序
    RUN npm run build
    
    # 暴露应用程序的端口
    EXPOSE 3000
    
    # 启动应用程序
    CMD ["node", "dist/main.js"]
    
  1. 构建Docker镜像
  • 在项目根目录下运行以下命令,将项目打包成一个Docker镜像:
    docker build -t <镜像名称>:<标签> .
    
  1. 运行Docker容器
  • 使用以下命令运行Docker容器:
    docker run -p 3000:3000 <镜像名称>:<标签>
    

使用PM2和Nginx部署

  1. 安装Node.js和npm
  • 使用以下命令安装Node.js和npm:
    curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -
    sudo yum install -y nodejs
    
  1. 安装PM2
  • 全局安装PM2进程管理工具:
    sudo npm install -g pm2
    
  1. 配置Nginx
  • 安装Nginx:
    sudo yum install -y epel-release
    sudo yum install -y nginx
    
  • 启动并启用Nginx:
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  1. 配置Nginx反向代理
  • 编辑Nginx配置文件(通常位于/etc/nginx/conf.d/目录下),添加以下内容:
    server {
        listen 80;
        server_name example.com www.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;
        }
    }
    
  • 重启Nginx以应用更改:
    sudo systemctl restart nginx
    
  1. 使用PM2启动Node.js应用
  • 在项目根目录下运行以下命令,使用PM2启动你的Node.js应用:
    pm2 start app.js
    

使用NVM安装Node.js

  1. 安装NVM
  • 使用以下命令安装NVM:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
  1. 安装Node.js
  • 使用NVM安装指定版本的Node.js:
    nvm install 14
    
  1. 设置Node.js项目
  • 进入项目目录并安装依赖:
    cd /path/to/your/project
    npm install
    
  1. 启动项目
  • 使用PM2启动项目:
    pm2 start app.js
    

0