引言:为什么VPS是您的TypeScript项目的理想之选?
您用TypeScript编写了一个很棒的应用程序——无论是Express服务器、Next.js网站还是NestJS API。本地运行完美,但现在是时候向世界展示您的项目了。许多新手害怕部署阶段,认为它复杂且令人困惑。实际上,只要弄清楚这个过程一次,您就能在15-20分钟内部署任何TypeScript项目。
在本指南中,我们将介绍在VPS(虚拟专用服务器)上部署TypeScript应用的完整流程——从服务器准备到域名配置和HTTPS。本文主要针对Node.js生态系统,因为TypeScript最常与它一起使用。
您将学到什么:
- 如何准备VPS(Ubuntu 22.04)
- 如何配置Node.js、TypeScript和进程管理器PM2
- 如何以生产模式构建(编译)TypeScript
- 如何配置Nginx作为反向代理
- 如何通过Let's Encrypt免费连接SSL证书
1. 准备VPS并安装所需环境
1.1 服务器初始配置
假设您已经租用了一台运行Ubuntu 22.04的VPS(例如,来自DigitalOcean、Timeweb或Reg.ru)。首先通过SSH连接到服务器:
ssh root@您的服务器IP创建一个单独的用户(比使用root更安全):
adduser deployerusermod -aG sudo deployersu - deployer1.2 安装Node.js和npm
对于TypeScript应用,我们需要Node.js版本18或20(LTS)。使用官方的NodeSource PPA:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt-get install -y nodejs检查安装:
node -vnpm -v1.3 全局安装TypeScript(可选)
虽然TypeScript通常作为项目的本地依赖项,但为了快速检查编译,可以全局安装它:
sudo npm install -g typescript1.4 克隆您的项目
将GitHub/GitLab上的仓库复制到服务器:
git clone https://github.com/您的用户名/您的项目.gitcd 您的项目安装依赖项:
npm install2. 构建TypeScript并配置PM2
2.1 将TypeScript编译为JavaScript
您的package.json中应该有一个构建脚本。通常看起来像这样:
{ "scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "ts-node-dev src/index.ts" }}运行构建:
npm run build执行后,编译后的JavaScript代码将出现在dist文件夹中。如果您使用的是Next.js,构建命令将是npm run build(Next.js自行编译TypeScript)。
2.2 安装和配置PM2
PM2是一个进程管理器,它保持您的应用程序运行,在崩溃时重新启动它,并管理日志。安装:
sudo npm install -g pm2通过PM2启动应用程序(指定编译后文件的路径):
pm2 start dist/index.js --name "my-typescript-app"如果您使用的是Next.js,命令会有所不同:
pm2 start npm --name "next-app" -- start配置PM2在服务器重启时自动启动:
pm2 startup systemdpm2 save现在您的应用程序在本地端口(例如,3000)上运行。让我们让它可以通过域名访问。
3. 配置Nginx作为反向代理
3.1 安装Nginx
博客
书籍推荐
推荐阅读