为什么在 VPS 上安装 SD.Next
SD.Next 是面向 Stable Diffusion 生态的 WebUI 工具,支持多种后端、扩展管理、模型切换和远程访问,适合需要长期运行、多人协作或不想占用本地电脑资源的用户。把它部署在 VPS 上,优势是环境稳定、可持续在线、便于远程管理;缺点是对显卡、驱动、系统版本和网络下载环境要求较高,配置不当很容易出现安装中断、启动失败、显存溢出或页面无法访问。

这类安装不建议在低配普通云主机上硬跑。SD.Next 的核心负载来自 GPU 推理,CPU 机器即使能启动,生成速度也会非常慢。更稳妥的选择是带 NVIDIA 显卡的实例,显存建议 8GB 起步,做 SDXL 或多扩展工作流建议 12GB 以上;系统建议 Ubuntu 22.04 LTS,磁盘建议 80GB 起,模型较多时直接准备 150GB 以上。
安装前环境检查清单
第一项是系统版本。优先选择 Ubuntu 22.04,避免过旧发行版带来的 Python、glibc、驱动兼容问题。执行 lsb_release -a 查看版本,uname -r 查看内核。若是全新实例,先完成系统更新:apt update && apt upgrade -y。
第二项是显卡状态。执行 nvidia-smi,能看到显卡型号、驱动版本、显存占用,才说明驱动基本可用。如果提示命令不存在或无法连接驱动,先不要安装 SD.Next,应先修复显卡驱动。驱动版本不必盲目追新,但要与 CUDA 运行环境匹配。常见做法是使用云服务商提供的 GPU 镜像,通常比手动装驱动更省事。
第三项是 Python。SD.Next 对 Python 版本较敏感,推荐使用 Python 3.10。执行 python3 --version 检查版本,若系统默认不是 3.10,可以安装 python3.10、python3.10-venv 和 python3.10-dev,并用虚拟环境隔离依赖,避免与系统软件包互相影响。
第四项是磁盘与内存。执行 df -h 查看剩余空间,free -h 查看内存。模型文件动辄数 GB,缓存和虚拟环境也会持续增长。内存较小的 VPS 建议配置 swap,避免编译依赖或加载模型时进程被系统直接结束。
第五项是端口与访问方式。SD.Next 默认可通过 Web 页面使用,远程部署时不要直接把管理页面暴露给所有来源。建议只开放必要端口,并使用强口令、SSH 隧道、反向袋里鉴权或白名单规则。若只是个人使用,优先通过 SSH 转发访问本地端口。
基础依赖安装步骤
登录 VPS 后,先安装常用依赖:apt install -y git wget curl python3.10 python3.10-venv python3.10-dev build-essential libgl1 libglib2.0-0。libgl1 和 libglib2.0-0 常用于解决图像处理库导入失败问题,很多“启动时报 OpenCV 错误”的情况都与这些依赖缺失有关。
接着创建工作目录,例如 mkdir -p /opt/ai && cd /opt/ai。建议不要把项目放在临时目录,也不要直接放在系统根目录下杂乱管理。克隆 SD.Next 项目:git clone https://github.com/vladmandic/automatic.git sdnext,然后进入目录 cd sdnext。
创建虚拟环境:python3.10 -m venv venv,启用环境:source venv/bin/activate。确认 pip 指向虚拟环境后,执行 python -m pip install --upgrade pip wheel setuptools。这样后续依赖会安装到项目环境中,升级或删除都更可控。
启动与首次初始化
在项目目录执行 ./webui.sh 启动。首次运行会下载依赖并生成配置文件,耗时取决于机器性能和连接质量。不要在安装过程中频繁中断,否则可能留下不完整的依赖缓存,后续报错会更难排查。若安装失败,可先记录最后 30 行日志,判断是 Python 包、Torch、驱动还是模型下载问题。
远程访问时,可以在启动参数中设置监听地址与端口,例如使用 --listen --port 7860。但这意味着服务会监听外部连接,务必配合访问控制。更保守的方式是只让服务监听本机,然后用 SSH 端口转发访问,例如把服务器的 7860 转到本地浏览器使用。
首次打开页面后,建议先进入设置页确认后端、精度、显存优化选项。显存较小的实例可以开启 medvram 或 lowvram 类参数,减少爆显存概率,但生成速度会下降。不要一次性安装大量扩展,先用基础模型跑通文生图,再逐步添加 ControlNet、LoRA 管理等扩展。
模型目录与文件管理
模型文件建议统一放在项目的 models 目录下,并按类型分类,例如 Stable-diffusion、Lora、VAE、ControlNet。文件名保持简洁,避免特殊符号。上传模型可以使用 scp、sftp 或云控制台文件工具。上传完成后,检查文件大小是否完整,很多加载失败其实是文件中途传输不完整导致。
如果磁盘空间有限,可以把模型目录挂载到独立数据盘,再用软链接指向项目目录。例如把大模型放在 /data/models,再链接到 SD.Next 识别的路径。这样重装项目时不必重复上传模型,也能降低误删风险。
常见问题排查
问题一:nvidia-smi 正常,但启动提示 Torch 不支持 CUDA。通常是安装到了 CPU 版本 Torch,或依赖解析时版本不匹配。处理思路是清理虚拟环境中的 torch、torchvision、torchaudio,再按 SD.Next 文档推荐的 CUDA 对应版本重新安装。不要混用多个来源的包。
问题二:页面能打开但生成时报显存不足。先降低分辨率和批量数量,关闭高消耗扩展,再尝试启用显存优化参数。SDXL 对显存要求明显更高,8GB 显存更适合从 512 或 768 分辨率开始测试。
问题三:启动卡在下载依赖。可先确认 DNS、系统时间和证书是否正常。部分依赖下载体积较大,建议使用稳定的镜像源,但不要随意执行来源不明的安装脚本。
问题四:重启服务器后服务消失。手动运行的进程会随着 SSH 会话结束而停止。可以使用 tmux、screen 保持会话,或配置 systemd 服务进行托管。配置 systemd 时要指定项目目录、虚拟环境路径和运行用户,避免用 root 长期运行 Web 服务。
避坑建议与安全边界
不要把默认端口直接公开给全网访问,也不要使用弱口令。AI 绘图服务会消耗大量 GPU 资源,一旦被他人占用,可能造成费用异常或服务不可用。建议限制来源地址,设置系统防火墙,并定期查看进程与显存占用。
不要在生产环境随意安装未知扩展。扩展拥有读取本地文件、发起网络请求和执行脚本的能力,安装前要查看来源、更新记录和用户反馈。重要模型、配置和提示词模板应定期备份,尤其在升级 SD.Next 前,先备份 config、models、extensions 和 outputs 目录。
升级时不要只看“有新版本”就立即执行。更稳妥的流程是先记录当前提交版本,备份目录,再 git pull 更新。如果新版本出现兼容问题,可以回到旧提交或恢复备份。遇到依赖大面积冲突时,与其反复覆盖安装,不如保留模型目录,重新创建干净虚拟环境。
还要注意内容合规和版权边界。模型来源应可信,商用前确认授权范围;生成内容不得用于伪造身份、误导他人或制作违规素材。团队共用时,建议明确账号、模型、输出目录和日志管理规则,减少误操作。
推荐的最终检查清单
安装完成后,按顺序检查:nvidia-smi 是否正常;Python 是否为 3.10;虚拟环境是否启用;磁盘剩余是否充足;SD.Next 是否能完成一次基础出图;重启后是否能恢复服务;端口是否只对需要的来源开放;模型目录是否分类清楚;扩展是否来自可信来源;升级前是否有备份。只要这份清单全部通过,VPS 上的 SD.Next 环境基本就具备长期使用条件。
对于新手,最稳的策略是“先跑通,再优化”。不要一开始就同时改驱动、换 Torch、装多个扩展、导入大量模型。每次只改一个变量,出错时才知道问题来自哪里。这样部署出来的 AI 工具环境更容易维护,也更适合后续扩展到批量任务或团队协作场景。
