引言:为什么VPS是您Node.js应用的正确选择
您用JavaScript (Node.js) 编写了一个很酷的应用,在本地进行了测试,现在它已准备好征服世界。但如何将它从舒适的开发环境迁移到严峻的生产环境呢?答案很简单——VPS(虚拟专用服务器)。与共享主机不同,VPS让您完全控制服务器,拥有root访问权限,并能够为您的Node.js应用需求精细调整环境。
在这个逐步指南中,我们将走完整个过程:从购买服务器和安装Node.js,到配置域名、SSL证书和PM2进程管理器。您将学习如何让您的网站稳定、快速且安全。我们开始吧!
步骤1:准备VPS并连接到服务器
首先,您需要租用一个VPS。任何流行的提供商都可以:DigitalOcean、Linode、Vultr或俄罗斯的类似服务。对于小型应用,最低配置为1个vCPU和1 GB RAM(使用Ubuntu 20.04或22.04 LTS)。
创建服务器后,您将获得一个IP地址和root密码。通过SSH连接:
ssh root@您的_IP_地址如果您使用macOS或Linux,SSH客户端已内置。在Windows上,您可以使用PowerShell或Putty。
立即更新系统:
apt update && apt upgrade -y提示:创建一个单独的用户(非root)用于日常工作。这将提高安全性:
adduser myuserusermod -aG sudo myusersu - myuser安装Node.js和npm
我们将通过NodeSource安装最新的稳定版Node.js——这是最可靠的方法:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs检查版本:
node --version # v20.x.xnpm --version # 10.x.x太好了!现在我们有了在服务器上运行JavaScript代码的环境。
步骤2:将应用上传到服务器并安装依赖
有几种方法可以传输代码。对于初学者来说,最简单的方法是使用git clone。如果您的代码存储在GitHub/GitLab上,请执行:
git clone https://github.com/您的账户/您的仓库.git /var/www/myappcd /var/www/myapp如果仓库是私有的,请配置SSH密钥或使用Personal Access Token。
另一种方法是通过SCP上传文件(从您的本地控制台):
scp -r /路径/到/您的/项目 myuser@您的IP:/var/www/myapp传输代码后,安装依赖:
cd /var/www/myappnpm install --production--production标志确保不会安装开发依赖(测试、构建工具等),从而节省空间并提高安全性。
配置环境变量
切勿将密码和API密钥存储在代码中。在项目根目录创建一个.env文件:
nano .env示例内容:
PORT=3000DB_HOST=localhostDB_USER=myuserDB_PASS=supersecretJWT_SECRET=myjwtsecret123确保此文件已添加到.gitignore中。要在代码中读取变量,请使用dotenv包(它应该已经在您的依赖中)。
步骤3:使用PM2启动应用并配置自动启动
如果您运行node app.js然后关闭SSH会话——应用将会停止。我们需要一个进程管理器来让应用24/7保持运行。PM2是Node.js的理想选择。
全局安装PM2:
sudo npm install -g pm2启动应用:
pm2 start app.js --name "myapp"如果您的应用使用端口3000,