0. 前言
刚买完云服务器,面对满屏的参数和报错手足无措?本文总结了从服务器系统选择、防火墙安全配置到 VS Code 远程开发的完整流程,带你绕过新手最容易踩的几个大坑。
1. 平台初识:为什么选择阿里云?
国内云服务器市场目前是"一超多强":
-
阿里云:全能领头羊,稳定、产品线最全,适合追求极致稳定和 AI 开发的用户。
-
腾讯云:音视频、游戏、小程序开发首选。
-
七牛云:专业的"专精特新"云,擅长图片/视频存储(OSS)和 CDN 加速。
-
华为云/天翼云:政企信创、国产化替代的首选。
2. 核心避坑:操作系统的选择
这是新手最容易犯错的地方。千万不要选 CentOS 7!
为什么推荐 Ubuntu 22.04?
-
VS Code 兼容性:新版 VS Code 要求的 glibc 组件版本较高,旧版系统(如 CentOS 7)会导致连不上。
-
教程丰富:90% 的 Web 部署教程(Nginx, Docker)都是基于 Ubuntu。
-
Alibaba Cloud Linux 是什么? 它是阿里云自研系统,优化了性能,但对新手来说,Ubuntu 的生态更友好。
UEFI 是什么?要选吗?
-
结论 :不要选 UEFI 版。
-
解释:UEFI 是新式启动模式,除非你的硬盘超过 2TB 或有特殊需求,否则普通版兼容性更稳,配置更简单。
3. 必须重视:防火墙(安全组)配置
防火墙决定了谁能访问你的服务器。
推荐规则配置清单:
|------------------|------------------------|--------------------|
| 协议端口 | 授权对象 | 用途 |
| TCP:22 | 0.0.0.0/0 (建议改为"我的IP") | SSH 远程登录(必须) |
| TCP:80 / 443 | 0.0.0.0/0 | 个人网站 HTTP/HTTPS 访问 |
| ICMP | 0.0.0.0/0 | 允许 Ping 命令检测网络是否通畅 |
⚠️ 安全大坑:
不要把数据库端口(MySQL 3306, Redis 6379)开放给 0.0.0.0/0!
如果你为了方便远程连接而全开,极易遭遇勒索病毒扫库。如果必须远程连数据库,请将授权对象改为你本地的公网 IP。

4. 终极神器:使用 VS Code SSH 远程写代码
比起阿里云网页版的 Workbench,VS Code 才是开发者的真爱。
配置步骤:
-
安装扩展:在 VS Code 搜索并安装 Remote - SSH 插件。
-
添加主机:输入 ssh root@你的公网IP。
-
配置文件:编辑 .ssh/config,确保格式如下:
codeText
Host 121.196.xxx.xxx HostName 121.196.xxx.xxx User root
常见报错排查:
-
报错:Permission denied (publickey...)
-
原因:服务器默认禁用了密码登录。
-
解决:通过 Workbench 登录后,修改 /etc/ssh/sshd_config,将 PasswordAuthentication 改为 yes,并重启 SSH 服务(sudo systemctl restart sshd)。
-
-
报错:LinuxPrereqs (glibc 不满足)
-
原因:系统太老(如 CentOS 7)。
-
解决 :去控制台更换操作系统为 Ubuntu 22.04。
-
-
报错:Host key verification failed
-
原因:你重装了系统,本地电脑记录的服务器"指纹"变了。
-
解决:在本地电脑终端执行:ssh-keygen -R 你的服务器IP。
-
4. 核心:TypeScript 全栈项目环境搭建
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

sudo apt-get install -y nodejs
如果你的项目包含 pnpm-lock.yaml、vite.config.ts、server/ 和 drizzle/ 文件夹,请按以下步骤配置环境:
4.1 安装 Node.js (建议 v20 LTS)
不要使用 Ubuntu 自带的旧版 Node。使用 NodeSource 脚本安装:
codeBash
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证:node -v
4.2 安装 pnpm (项目核心包管理工具)
由于项目使用了 pnpm 锁定文件,必须安装 pnpm:
codeBash
sudo npm install -g pnpm
4.3 数据库环境 (以 PostgreSQL 为例)
如果你的 Drizzle 配置连接的是 Postgres:
codeBash
sudo apt install postgresql postgresql-contrib -y
4.4 安装 PM2 (让后端在后台永不掉线)
codeBash
sudo pnpm add -g pm2
5. 项目部署实战流程
-
上传代码 :在 VS Code 连接 SSH 后,直接将本地项目文件夹拖入左侧文件栏(或通过 Git Clone)。
-
安装依赖:在项目根目录下执行 pnpm install。
-
配置环境变量:在服务器新建 .env 文件,填入生产环境的数据库连接字符串。
-
数据库迁移:运行 Drizzle 迁移命令(如 pnpm drizzle-kit push)同步表结构。
-
构建与运行:
-
前端:pnpm build。
-
后端:pm2 start server/index.ts --interpreter ts-node (根据实际入口调整)。
-
6. 结语
-
选系统:Ubuntu 22.04(不带 UEFI)。
-
配安全组:只开 22, 80, 443,严禁裸奔数据库端口。
-
装环境:Node.js v20 + pnpm + 对应数据库。