引言:为什么VPS是您Node.js应用的理想解决方案?
\n您用JavaScript(Node.js)编写了一个很棒的应用,在本地进行了测试,现在希望它能24/7在线运行。共享主机通常因限制而不适合Node.js,而云服务(Heroku、Railway)可能价格昂贵或性能不可预测。虚拟专用服务器(VPS)是黄金选择:完全控制、高性能且价格实惠。
\n在本逐步指南中,我们将从零开始讲解如何在VPS上部署JavaScript(Node.js)应用。您将学习如何配置服务器、安装必要软件、安全启动应用并通过域名使其可访问。所有代码示例均为可用且经过验证的。
\n\n1. 服务器准备:VPS初始配置
\n首先,您需要从任何提供商(DigitalOcean、Vultr、Timeweb、Selectel)租用一台VPS。最低配置:1 vCPU、1-2 GB RAM、20-30 GB SSD。操作系统——Ubuntu 22.04 LTS(最稳定的版本)。
\n\n1.1. 通过SSH连接到服务器
\n获取IP地址和密码后,通过终端(Mac/Linux)或PuTTY(Windows)连接到服务器:
\nssh root@您的_服务器_IP\n立即更改密码并创建新用户(以root身份操作是不良实践):
\nadduser deploy_user\nusermod -aG sudo deploy_user\nsu - deploy_user\n\n1.2. 更新系统并安装基础软件包
\nsudo apt update && sudo apt upgrade -y\nsudo apt install -y curl git ufw build-essential\n配置基础防火墙UFW(仅保留SSH和我们将使用的端口):
\nsudo ufw allow OpenSSH\nsudo ufw allow 80/tcp\nsudo ufw allow 443/tcp\nsudo ufw enable\n\n2. 安装Node.js和进程管理器PM2
\n为了在服务器上运行JavaScript应用,我们需要Node.js。使用官方版本管理器NodeSource来安装最新的LTS版本:
\n\n2.1. 安装Node.js(v20 LTS)
\ncurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt install -y nodejs\n检查安装:
\nnode -v # v20.x.x\nnpm -v # 10.x.x\n\n2.2. 安装和配置PM2
\nPM2是Node.js的高级进程管理器。它能在应用崩溃时自动重启、管理日志,并允许运行多个实例(集群模式)。
\nsudo npm install -g pm2\n配置PM2在服务器重启时自动启动:
\npm2 startup systemd\nsudo env PATH=$PATH:/usr/bin pm2 startup systemd -u deploy_user --hp /home/deploy_user\n\n3. 部署应用并通过PM2启动
\n现在,我们准备将您的JavaScript应用迁移到服务器。有两种流行的方法:通过Git(推荐)或通过SCP/FileZilla。
\n\n3.1. 克隆仓库(Git)
\ncd /home/deploy_user\ngit clone https://github.com/您的用户名/您的仓库.git myapp\ncd myapp\n安装依赖并构建项目(如果需要):
\nnpm install\n# 如果有构建脚本:npm run build\n\n3.2. 创建配置文件.env
\n切勿将机密信息存储在代码中。在项目文件夹中创建.env文件:
\nnano .env\n示例内容:
\nPORT=3000\nNODE_ENV=production\nDATABASE_URL=mongodb://localhost:27017/myapp\nJWT_SECRET=您的超级密钥\n\n3.3. 通过PM2启动应用
\n假设您应用的入口点是app.js或server.js。启动:
pm2 start app.js --name "myapp"\n检查状态:
\npm2 status\npm2 logs myapp