【保姆级】阿里云ECS服务器选购、安全组配置及VS Code SSH连接全攻略(避坑指南)

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 才是开发者的真爱。

配置步骤:

  1. 安装扩展:在 VS Code 搜索并安装 Remote - SSH 插件。

  2. 添加主机:输入 ssh root@你的公网IP。

  3. 配置文件:编辑 .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. 项目部署实战流程

  1. 上传代码 :在 VS Code 连接 SSH 后,直接将本地项目文件夹拖入左侧文件栏(或通过 Git Clone)。

  2. 安装依赖:在项目根目录下执行 pnpm install。

  3. 配置环境变量:在服务器新建 .env 文件,填入生产环境的数据库连接字符串。

  4. 数据库迁移:运行 Drizzle 迁移命令(如 pnpm drizzle-kit push)同步表结构。

  5. 构建与运行

    • 前端:pnpm build。

    • 后端:pm2 start server/index.ts --interpreter ts-node (根据实际入口调整)。


6. 结语

  1. 选系统:Ubuntu 22.04(不带 UEFI)。

  2. 配安全组:只开 22, 80, 443,严禁裸奔数据库端口。

  3. 装环境:Node.js v20 + pnpm + 对应数据库。

相关推荐
剑神一笑1 天前
Linux wget 命令详解:从基础到高级下载技巧
linux·运维·服务器
wanhengidc1 天前
云手机 算力终端应用
运维·服务器·网络·游戏·智能手机
郝亚军1 天前
RK3562 nfs mount
linux·运维·服务器
随便做点啥1 天前
8卡服务器(4服务x 2卡)Nginx 负载均衡配置,与百分位延迟说明
服务器·nginx·负载均衡
.千余1 天前
【测试】测试用例设计攻略(6大设计方法)
服务器·网络·笔记·学习·测试用例
一拳一个娘娘腔1 天前
【SRC漏洞挖掘系列】第12期:OA系统与通用CMS —— 打点拿权限的“传统艺能”
安全
Multipath7121 天前
与辉同行山东行看大型户外活动的通信保障
网络·5g·安全·无人机·实时音视频
tang7451639621 天前
华为云服务器Ubuntu 24.04 安装 Kafka20260318
服务器·ubuntu·华为云
wanhengidc1 天前
服务器如何防范病毒攻击
运维·服务器·游戏
视觉&物联智能1 天前
【杂谈】-筑牢AI安全防线:解锁运行时保护新密钥
人工智能·安全·chatgpt·aigc·agi·deepseek