CentOS部署Stable Diffusion优化指南
运行sudo yum update -y更新系统内核及软件包;安装开发工具链(gcc、make、cmake)和核心依赖(git、python3、python3-pip),确保后续安装流程顺畅。
使用python3 -m venv stable-diffusion-env创建独立虚拟环境,通过source stable-diffusion-env/bin/activate激活,避免与系统Python包冲突,提升环境稳定性。
yum或官网下载对应版本的驱动(如nvidia-driver-latest-dkms),确保显卡驱动版本符合CUDA要求;rpm包或源码编译安装;/usr/local/cuda),并配置环境变量(export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH);nvidia-smi确认驱动正常,nvcc --version确认CUDA编译器版本。使用AUTOMATIC1111官方脚本,一键完成WebUI及依赖安装:
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
chmod +x webui.sh
./webui.sh脚本会自动下载模型(默认stable-diffusion-v1-5)、安装Python依赖,并启动Web服务(默认端口7860)。
安装Docker后,拉取官方镜像并运行容器:
sudo yum install -y docker-ce
sudo systemctl start docker
docker pull stablediffusion/stable-diffusion-webui
docker run -it --rm -p 80:80 --gpus all stablediffusion/stable-diffusion-webui通过--gpus all参数启用GPU加速,访问http://localhost即可使用WebUI。
克隆Stable Diffusion WebUI仓库,手动安装依赖并启动:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
pip install -r requirements.txt
./webui.sh此方式可灵活调整配置文件(如webui-user.bat或webui-user.sh)。
建议使用8的倍数(如512×512、768×768),避免非整数分辨率导致的生成异常(如模糊、变形)。
DPM++ 2M Karras(平衡速度与质量)或Euler a(稳定但较慢);50步,可降至20-30步(对质量影响较小,显著提升生成速度)。控制生成结果与提示词的匹配度,范围7-12(7为保守,12为激进),推荐9-11以兼顾创意与细节。
强制使用GPU加速:在启动命令中添加--device cuda;若需强制使用CPU(仅测试):--device cpu。
将下载的模型文件(如.ckpt、.safetensors)放置于stable-diffusion-webui/models/Stable-diffusion/目录,WebUI会自动识别。
requirements.txt文件锁定依赖版本(如torch==2.0.1+cu118、transformers==4.30.0),避免自动升级导致的兼容性问题;pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118。--medvram(中等显存优化)或--lowvram(低显存优化)参数,减少显存占用;--skip-torch-cuda-test参数,缩短启动时间。sudo firewall-cmd --add-port=7860/tcp --permanent(替换为实际端口)并sudo firewall-cmd --reload;sudo yum update -y获取安全补丁;models/目录和webui-user.*配置文件,防止数据丢失。若出现ModuleNotFoundError或版本不兼容错误,激活虚拟环境后重新安装依赖(pip install -r requirements.txt),或使用pip check检查冲突。
若无法访问Web界面,检查防火墙规则(如上述);若为端口占用,修改webui.sh中的PORT参数(如PORT=8080)。
若出现CUDA out of memory,降低生成分辨率或步数;若出现CUDA version mismatch,重新安装匹配的CUDA Toolkit与PyTorch版本。