在 CentOS 上部署 Stable Diffusion 的可行方案
- 原生安装:使用 AUTOMATIC1111/stable-diffusion-webui 脚本在系统或虚拟环境中直接运行,适合需要完整控制与插件扩展的用户。
- 容器化:使用 Docker + NVIDIA Container Toolkit 运行已打包的 WebUI 镜像,环境隔离、部署更快,适合快速上线与迁移。
- 前置要点:建议 CentOS 7/8、内存至少 8GB(推荐 16GB+)、NVIDIA 显卡显存 ≥4GB(推荐 6–8GB+)、磁盘预留 60–100GB+(模型与缓存较大)。
方案一 原生安装 AUTOMATIC1111 WebUI(推荐)
sudo yum update -y
sudo yum install -y git python3 python3-pip python3-devel gcc make
python3 -m venv ~/sd-venv
source ~/sd-venv/bin/activate
pip install -U pip
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
- 启动安装脚本(会自动安装 Python 依赖,首次运行较慢):
bash webui.sh
- 如网络较慢,可预先配置国内镜像源或更换 pip 源,提升下载速度。
- 3 GPU 与启动参数
- 若使用 NVIDIA GPU,安装与驱动匹配的 PyTorch(CUDA 版本);如遇到 CUDA 检测问题,可在启动命令前加入环境变量:
export COMMANDLINE_ARGS="--skip-torch-cuda-test"
然后重新运行:bash webui.sh
export CUDA_VISIBLE_DEVICES=0,1(按需设置可见 GPU)
- 脚本会自动启动本地 Web 服务,默认端口通常为 7860。
- 4 访问与常用目录
- 浏览器访问:http://服务器IP:7860
- 模型存放:stable-diffusion-webui/models/Stable-diffusion
- 输出目录:stable-diffusion-webui/outputs
- 日志:运行目录下的 webui-user.sh/webui-user.bat 可自定义启动参数与端口。
方案二 Docker 容器化部署(含 GPU)
- 1 安装 Docker 与 NVIDIA 容器工具
- 安装 Docker(以 CentOS 7 为例):
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER(重新登录生效)
- 安装 NVIDIA Container Toolkit(参考 NVIDIA 官方指引),完成后执行:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
- 2 拉取并运行镜像(示例)
- 拉取镜像(示例仓库,实际请选择维护活跃、带 GPU 支持的镜像):
docker pull edwardbaldo/stable-diffusion-webui:latest
- 启动容器(示例,映射端口 7860,可按需增减):
docker run --gpus all -p 7860:7860 --name sd-webui \
-e NVIDIA_VISIBLE_DEVICES=all \
edwardbaldo/stable-diffusion-webui:latest
- 如镜像的启动脚本不同,请按其文档执行进入容器并启动 WebUI。
- 3 访问与数据持久化
- 浏览器访问:http://服务器IP:7860
- 建议挂载模型与输出目录,便于升级与备份:
-v /data/models:/app/models
-v /data/outputs:/app/outputs
常见问题与优化建议
- 显存与性能
- 显存 4GB 可运行但受限,建议使用 6–8GB+;可降低分辨率、关闭高分辨率修复、使用 --medvram 或 --lowvram 参数(在 webui.sh 的 COMMANDLINE_ARGS 中设置)。
- 下载慢或中断
- 配置 Git 与 pip 国内镜像源,或使用代理;模型较大,建议使用断点续传工具。
- 启动报错与兼容性
- 如遇 CUDA/驱动不匹配,优先安装与驱动匹配的 PyTorch 版本;必要时使用 --skip-torch-cuda-test 跳过检测(仅用于排查)。
- 安全与维护
- 开放外网访问时,建议配置 防火墙/反向代理/HTTPS;定期备份 模型与配置,并保留不同版本的 venv 或镜像以便回滚。