2024年,你还不会部署自己的node项目?

2,035 阅读3分钟

部署 Node.js 应用涉及多个步骤,包括准备服务器环境、上传代码、安装依赖、配置环境变量、启动应用以及设置反向代理和持久化。以下是一个基本的 Node.js 应用部署教程,以部署到 Linux 服务器为例:

步骤 1: 准备服务器环境

  1. 购买并设置服务器
    选择一个云服务提供商(如 AWS、DigitalOcean、Linode 等),购买一个虚拟私有服务器(VPS),并记录下你的服务器 IP 地址和 root 密码。

  2. SSH 登录服务器
    使用 SSH 客户端连接到你的服务器。在终端中输入以下命令:

   ssh root@YOUR_SERVER_IP

替换 YOUR_SERVER_IP 为你的服务器 IP 地址。

  1. 安装 Node.js
    使用包管理器安装 Node.js。例如,在 Ubuntu 上,你可以使用以下命令:

   curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
   sudo apt-get install -y nodejs

这将安装 Node.js 14.x 版本。

  1. 安装进程管理器
    安装 PM2,这是一个进程管理器,可以帮助你在后台运行 Node.js 应用,并在崩溃时自动重启它。

   npm install pm2 -g

步骤 2: 上传你的 Node.js 应用

  1. 使用 Git
    如果你的代码托管在 Git 仓库(如 GitHub 或 GitLab),你可以直接在服务器上克隆仓库:

   git clone YOUR_GIT_REPOSITORY_URL

替换 YOUR_GIT_REPOSITORY_URL 为你的 Git 仓库 URL。

  1. 使用 FTP/SFTP
    如果你不使用 Git,可以使用 FTP 或 SFTP 工具(如 FileZilla)将你的代码上传到服务器。

步骤 3: 安装依赖

  1. 进入项目目录
    使用 cd 命令进入你的项目目录:

   cd path/to/your/project
  1. 安装依赖
    运行 npm install 安装项目依赖:
   npm install

步骤 4: 配置环境变量

  1. 创建 .env 文件
    如果你的应用使用环境变量,你可以在项目根目录下创建一个 .env 文件,并设置必要的环境变量。

步骤 5: 启动你的 Node.js 应用

  1. 使用 PM2 启动应用
    使用 PM2 启动你的 Node.js 应用。假设你的入口文件是 app.js

   pm2 start app.js --name "your-app-name"

替换 "your-app-name" 为你的应用名称。

步骤 6: 设置反向代理(可选)

  1. 安装 Nginx
    安装 Nginx 作为反向代理服务器:
   sudo apt-get install nginx
  1. 配置 Nginx
    编辑 Nginx 配置文件以将流量从公共端口(如 80 或 443)代理到你的应用端口(如 3000):

   sudo nano /etc/nginx/sites-available/default

添加以下配置:

   server {
       listen 80;
       server_name yourdomain.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;
       }
   }

替换 yourdomain.com 为你的域名,3000 为你的 Node.js 应用端口。

  1. 重启 Nginx
    重启 Nginx 以应用配置更改:
   sudo systemctl restart nginx

步骤 7: 设置域名(可选)

  1. 配置 DNS
    在你的域名注册商处配置 DNS 记录,将你的域名指向服务器的 IP 地址。

步骤 8: 配置 SSL(可选)

  1. 安装 Certbot
    使用 Certbot 自动获取和安装 Let's Encrypt SSL 证书:
   sudo apt-get install certbot python3-certbot-nginx
  1. 获取 SSL 证书
    运行 Certbot 并按照提示操作:
   sudo certbot --nginx

步骤 9: 持久化 PM2 进程

  1. 保存 PM2 列表
    保存当前 PM2 进程列表,以便在服务器重启时自动恢复:
   pm2 save
  1. 设置 PM2 开机自启
    使 PM2 开机自启动:
   pm2 startup

按照这些步骤,你应该能够成功部署你的 Node.js 应用到一个 Linux 服务器上。记得在每个步骤中检查是否有错误,并根据需要调整配置。