在阿里云 ECS(CentOS 系统)上搭建机器学习环境,核心思路是:安装基础依赖 → 配置 Python 环境 → 安装深度学习框架(PyTorch/TensorFlow)→ 优化性能与监控。以下是详细步骤:
✅ 一、前期准备
-
登录阿里云控制台
- 创建/选择一台 CentOS 7/8 或 Rocky Linux 9 的 ECS 实例。
- 推荐配置:CPU ≥ 4 核,内存 ≥ 8GB,务必选择带 NVIDIA GPU 的实例类型(如
gn6i、gn7i、gn8v等),否则无法提速深度学习训练。 - 安全组开放端口:22(SSH)、80/443(Web)、自定义端口(如 Jupyter 的 8888)。
-
连接服务器
ssh root@<ECS公网IP> # 或使用阿里云终端(Web SSH)
✅ 二、安装 NVIDIA 驱动与 CUDA(GPU 必需)
⚠️ 注意:阿里云 GPU 实例已预装部分驱动,但建议手动验证并更新到匹配版本。
1. 查询当前驱动 & CUDA 支持
nvidia-smi # 查看驱动版本
cat /usr/local/cuda/version.txt # 查看 CUDA 版本(若存在)
2. 安装官方驱动 + CUDA Toolkit(以 CUDA 12.1 + Driver 535 为例)
# 卸载旧驱动(如有冲突)
sudo yum remove nvidia*
# 添加 RPM Fusion 仓库(CentOS 7/8)或直接用阿里云镜像源
sudo yum install -y epel-release
sudo yum groupinstall -y "Development Tools"
sudo yum install -y wget gcc kernel-devel-$(uname -r)
# 下载并安装 NVIDIA 驱动(官网获取最新稳定版)
wget https://download.nvidia.com/XFree86/Linux-x86_64/535.183.01/NVIDIA-Linux-x86_64-535.183.01.run
chmod +x NVIDIA-Linux-x86_64-535.183.01.run
sudo ./NVIDIA-Linux-x86_64-535.183.01.run --no-opengl-files --silent
# 重启后验证
nvidia-smi
3. 安装 CUDA Toolkit & cuDNN
# 方式1:使用 NVIDIA 官方 YUM 源(推荐)
sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
sudo mv cuda-rhel8.repo /etc/yum.repos.d/
sudo yum clean all
sudo yum install -y cuda-toolkit-12-1 cudnn-devel cuda-cublas-12-1
# 方式2:手动安装 .run 包(更灵活)
# 从 https://developer.nvidia.com/cuda-downloads 下载对应版本
# 示例(CUDA 12.1):
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_531.18_linux.run
sudo sh cuda_12.1.0_531.18_linux.run --toolkit --silent --override
# 添加环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
✅ 验证:
nvcc --version
python -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)"
✅ 三、配置 Python 环境与虚拟环境
1. 安装 Miniconda(推荐,避免污染系统 Python)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按提示安装,初始化 shell(选 yes)
source ~/.bashrc
2. 创建虚拟环境
conda create -n ml-env python=3.10 -y
conda activate ml-env
3. 安装常用 ML 库
# PyTorch(匹配你的 CUDA 版本!关键!)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# TensorFlow(可选,需单独指定 GPU 版)
# pip install tensorflow[and-cuda]==2.15.0 # 注意 TF 对 CUDA 版本要求严格
# 通用工具
pip install numpy pandas scikit-learn matplotlib seaborn jupyterlab
pip install transformers datasets accelerate # HuggingFace 生态
pip install tensorboard # 可视化训练过程
✅ 验证 PyTorch GPU:
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}, Device: {torch.cuda.get_device_name(0)}')"
✅ 四、部署开发环境(JupyterLab / VS Code Remote)
方案 A:JupyterLab(适合快速实验)
pip install jupyterlab
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root
# 生成 token 后,通过浏览器访问:http://<ECS-IP>:8888?token=<xxx>
📌 安全提示:生产环境建议加密码或配合 Nginx 反向X_X + HTTPS。
方案 B:VS Code Remote(推荐)
- 本地安装 VS Code + Remote – SSH 插件
- 连接至 ECS,远程编辑代码,调试更高效。
✅ 五、性能优化建议
| 项目 | 操作 |
|---|---|
| 显存管理 | 设置 CUDA_VISIBLE_DEVICES 限制可用卡;启用 torch.backends.cudnn.benchmark = True |
| 数据加载 | 使用 DataLoader(num_workers=4) + pin_memory=True |
| 混合精度训练 | from apex import amp 或 PyTorch 原生 autocast |
| 监控资源 | watch -n 1 nvidia-smi 或集成 Prometheus+Grafana |
| 自动重启服务 | 用 systemd 管理 Jupyter 服务(可参考 GitHub 搜索 jupyter systemd) |
✅ 六、备份与安全加固
- 定期快照 ECS 实例(阿里云控制台 → 云盘/实例 → 快照)
- 禁用 root 直接 SSH,改用普通用户 + sudo
- 安装
fail2ban防暴力破解:sudo yum install fail2ban -y sudo systemctl enable --now fail2ban
需要我提供:
- 📦 完整的
setup.sh自动化脚本? - 🔧 针对特定框架(如 LLM 微调、Stable Diffusion)的专属配置?
- ☁️ 如何在阿里云百炼平台直接调用模型而无需自建环境?
欢迎告诉我你的具体场景(例如:跑 ResNet / 训练 Llama 3 / 做 CV 检测),我可进一步定制方案。
CLOUD技术博