• 首页 > 
  • AI技术 > 
  • 如何检查CentOS上Stable Diffusion部署

如何检查CentOS上Stable Diffusion部署

AI技术
小华
2026-01-01

CentOS上Stable Diffusion部署检查清单
一 环境基线核对

  • 操作系统与内核
  • 查看系统信息:cat /etc/os-release;内核:uname -r
  • 建议内核不低于3.10,并确认系统为x86_64架构
  • GPU与驱动
  • 查看驱动与CUDA运行时:nvidia-smi(右上显示Supported/Runtime CUDA)
  • 驱动版本建议≥470;如需容器加速,安装nvidia-docker2并确认docker run --rm --gpus all nvidia/cuda:12.1.1-base-ubuntu22.04 nvidia-smi能正常输出
  • Python与容器
  • Python版本建议3.10.xpython3 -Vpython -V
  • Docker:docker -vdocker info;若使用GPU,确认nvidia-container-toolkit已正确配置
  • 资源基线
  • 内存建议≥16GB(8GB可运行但易卡顿),磁盘可用空间≥20GB(模型与缓存会持续增长)

二 运行方式与端口连通性检查

  • WebUI方式(AUTOMATIC1111)
  • 进程与端口:ps -ef | grep -E 'webui|python'ss -ltnp | grep :7860
  • 连通性:本机 curl -I http://127.0.0.1:7860;远程 curl -I http://服务器IP:7860
  • 容器方式:确认启动参数包含-p 7860:7860--gpus all,如:docker run -d --gpus all -p 7860:7860 -v /path/to/models:/models automatic1111/stable-diffusion-webui
  • Docker方式(其他镜像)
  • 容器状态:docker ps -a | grep stable-diffusion;日志:docker logs -f <容器名或ID>
  • 端口映射:docker port <容器名或ID> 应显示7860/tcp -> 0.0.0.0:7860
  • 防火墙与SELinux
  • firewalld:sudo firewall-cmd --list-ports,如未放行:sudo firewall-cmd --add-port=7860/tcp --permanent && sudo firewall-cmd --reload
  • SELinux:getenforce(返回Enforcing时,必要时为端口放行或临时setenforce 0验证是否为策略问题)

三 模型与依赖完整性检查

  • 模型文件
  • 路径通常为:~/stable-diffusion-webui/models/Stable-diffusion/
  • 检查是否存在.ckpt.safetensors文件,建议校验完整性(如sha256sum),避免中文或特殊字符路径
  • Python依赖
  • 建议使用虚拟环境:python -m venv sd-venv && source sd-venv/bin/activate
  • 关键包版本示例:pip show torch torchvision torchaudio diffusers transformers accelerate xformers
  • 若使用GPU,确认torchCUDA构建:python -c "import torch; print(torch.cuda.is_available())" 应为True
  • 显存与性能
  • 显存不足时,WebUI启动参数可加入--medvram--lowvram;生成分辨率可从512×512降至256×256以验证稳定性

四 服务健康监控与自恢复

  • 进程存活与端口探测
  • 进程探测:pgrep -f "webui\.sh|python.*launch\.py"pidof python3
  • HTTP探测:curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:7860,返回200为正常
  • 简单守护脚本示例(放于/usr/local/bin/sd-monitor.sh
#!/usr/bin/env bash
URL="http://127.0.0.1:7860"
LOG="/var/log/sd-monitor.log"
PID_FILE="/var/run/sd-webui.pid"
curl -s -o /dev/null -w "%{http_code}" "$URL" | grep -q "200"
if [ $? -ne 0 ]; then
echo "$(date) [WARN] WebUI not healthy, restarting..." >> "$LOG"
pkill -f "webui\.sh|python.*launch\.py" || true
cd /home/sd/stable-diffusion-webui && nohup ./webui.sh --listen >> "$LOG" 2>&1 &
echo $! > "$PID_FILE"
else
echo "$(date) [OK] WebUI is healthy." >> "$LOG"
fi
  • 定时执行:echo "*/2 * * * * root /usr/local/bin/sd-monitor.sh" | sudo tee /etc/cron.d/sd-monitor >/dev/null
  • systemd服务封装(可选)
  • 将上述脚本作为服务运行,便于开机自启与集中日志管理:sudo systemctl enable --now sd-monitor.service,查看状态:systemctl status sd-monitor.service,日志:journalctl -u sd-monitor.service -f

五 常见故障快速定位

  • 无法访问WebUI
  • 端口未监听:ss -ltnp | grep 7860;容器未映射:检查-p 7860:7860
  • 防火墙/SELinux:放行7860/tcp或临时关闭SELinux验证
  • GPU不可用或报错
  • nvidia-smi异常:重装驱动或检查nvidia-container-toolkit
  • CUDA不匹配:确认torch与驱动/CUDA版本匹配;必要时重装对应版本
  • 内存/显存不足
  • 降低分辨率与批量大小;启动参数加入--medvram/--lowvram
  • 模型加载失败
  • 检查模型文件是否存在、路径是否含中文、文件是否损坏(校验和)
  • Python依赖冲突
  • 使用全新虚拟环境,按项目锁定版本安装;避免系统Python被污染

以上步骤覆盖了系统、容器、网络、模型与监控五个维度,按序执行可快速判定Stable Diffusion在CentOS上的部署是否健康,并定位常见问题。

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序