温馨提示×

Node.js 在 Linux 上如何高效部署

小樊
62
2025-06-09 03:10:07
栏目: 编程语言

在 Linux 上高效部署 Node.js 应用程序通常涉及以下步骤:

1. 准备 Linux 环境

  • 更新系统:确保系统包是最新的。
    sudo apt update
    sudo apt upgrade
    
  • 安装必要的工具:如 git, vim, wget 等。
    sudo apt install git vim wget
    
  • 安装 Node.js 和 npm
    • 使用包管理器(如 apt):
      sudo apt install nodejs npm
      
    • 使用 NodeSource 二进制分发库:
      curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
      sudo apt install -y nodejs
      
    • 使用 NVM(Node Version Manager)管理 Node.js 版本:
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      source ~/.bashrc
      nvm install node
      

2. 创建 Node.js 应用程序

  • 在本地创建一个新的 Node.js 项目:
    mkdir myapp
    cd myapp
    npm init -y
    
  • 安装 Express 框架和其他依赖:
    npm install express
    

3. 上传项目到服务器

  • 使用 Git
    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin https://github.com/yourusername/yourrepo.git
    git push -u origin main
    
  • 使用 FTP/SCP:将项目文件上传到服务器。

4. 配置 Node.js 环境

  • 安装项目依赖
    cd /path/to/your/project
    npm install
    
  • 配置环境变量:根据需要配置环境变量,例如数据库连接字符串、API 密钥等。

5. 运行与维护项目

  • 使用 PM2 进程管理器
    npm install pm2 -g
    pm2 start app.js --name "my-app"
    
  • 配置反向代理(可选):使用 Nginx 或 Apache 将请求转发到 Node.js 应用。
    sudo apt install nginx
    sudo nano /etc/nginx/sites-available/default
    
    在配置文件中添加以下内容:
    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;
        }
    }
    sudo systemctl restart nginx
    
  • 监控与日志:使用 PM2 提供日志管理和自动重启功能。
    pm2 logs my-app
    

6. 优化与扩展

  • 使用 HTTPS:配置 SSL 证书,使用 Let’s Encrypt。
  • 负载均衡:使用 Nginx 或 HAProxy 分发请求到多个 Node.js 实例。
  • 容器化部署:使用 Docker 容器化应用,确保环境一致性。
    FROM node:14
    WORKDIR /usr/src/app
    COPY package*.json ./
    RUN npm install
    COPY . .
    EXPOSE 3000
    CMD ["npm", "start"]
    
    构建和运行 Docker 容器:
    docker build -t my-node-app .
    docker run -p 3000:3000 my-node-app
    

通过以上步骤,你可以在 Linux 上高效地部署 Node.js 应用程序,并确保其高性能和稳定性。

0