comfyui@comfyui在ubuntu-22.04基于A100部署

概述

搭建comfyui服务,提升绘图效率

1.前置检查

1.1系统/配置

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-86-generic x86_64)
8c 64g 2T A100 x1

1.2gpu类型

lspci | grep -i nvidia
00:06.0 3D controller: NVIDIA Corporation GA100 [A100 PCIe 40GB] (rev a1)

1.3磁盘挂载

fdisk -l
fdisk /dev/sdb             # 新建分区
mkfs.ext4  /dev/sdb1  # 格式化分区   

mkdir /data
/etc/fstab  //配置磁盘挂载点
mount -a   # 刷新挂载信息

roxxxx] df -hT
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 6.3G 1.1M 6.3G 1% /run
/dev/sda1 ext4 473G 5.6G 448G 2% /
..
/dev/sdb1 ext4 2.0T 28K 1.9T 1% /data

2.安装nvidia-driver

2.1寻找A100驱动

https://www.nvidia.cn/drivers/lookup/

4d76662819bfd9dbb7b135935aaa8afd.png

2.2下载NVIDIA-Linux-x86_64-570.133.20.run

https://us.download.nvidia.com/tesla/570.133.20/NVIDIA-Linux-x86_64-570.133.20.run

2.3传到服务器或者直接在服务器上下载驱动包

pass

2.4安装编译依赖

apt-get update
apt install -y gcc make g++ kernel-devel cmake pkg-config build-essential

2.5安装驱动

chmod +x NVIDIA-Linux-x86_64-570.133.20.run
./NVIDIA-Linux-x86_64-570.133.20.run

3a979bc9dfa3d5e832d06580a03a6d54.png

  • nvidia propertietary # 官方稳定
  • MIT/GPL # 开源

禁用开源驱动nouveau yes

建议: 使用官方的驱动,稳定,安装完毕须重启系统

2.6驱动检查

nvidia-smi -pm 1   # 开启驱动常驻
nvidia-smi   #检查驱动

3.安装miniconda环境

3.1在线安装miniconda

https://www.anaconda.com/docs/getting-started/miniconda/install#linux-terminal-installer

mkdir -p ~/miniconda3

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh

bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3

source ~/miniconda3/bin/activate
conda init --all

3.2创建comfyenv

conda create -n comfyenv python=3.13.2
conda activate comfyenv

3.3安装基于cuda12.8pytorch包

https://pytorch.org/get-started/locally/

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

4.安装comfyui

4.1下载comfyui

https://github.com/comfyanonymous/ComfyUI/releases

tar zxf ComfyUI-0.3.34.tar.gz && mv ComfyUI-0.3.34 /data/

4.2pip3安装项目依赖

cd ComfyUI-0.3.34/
pip3 install -r requirements.txt

4.3启动comfyui

python main.py –listen 0.0.0.0 –port 8188

4.4启动/关闭脚本

/data/ComfyUI-0.3.34

start.sh

#!/bin/bash

# 初始化conda(重要)
source ~/miniconda3/etc/profile.d/conda.sh

# 激活环境
conda activate comfyenv

# google
#export http_proxy="http://127.0.0.1:7890"
#export https_proxy="http://127.0.0.1:7890"


nohup python main.py \
    --listen 0.0.0.0 \
    --port 8188 \
    --input-directory /data/ftp/input \
    --output-directory  /data/ftp/output \
    --temp-directory /data/ftp/temp \
    >nohup.out 2>&1 &

stop.sh

#!/bin/bash

ps -ef |grep main.py |grep -v grep | awk '{print $2}' |xargs kill -9 

5.模型下载

5.1百度网盘cli客户端

https://github.com/qjfoidnh/BaiduPCS-Go/releases/tag/v3.9.7

5.3下载模型

5.4移动模型到目标models

/root/Download/xxxxxx/     # 默认下载文件路径
mv xxx /data/ComfyUI-0.3.34/models/yyy/

6.依赖下载

6.1开启科学上网

https://github.com/MetaCubeX/mihomo/releases

./mihomo -f config.yml

#启动脚本新增代理配置
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

6.2下载自定义node

https://github.com/Comfy-Org/ComfyUI-Manager

cd /data/ComfyUI-0.3.34/custom_nodes/

git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager

7.工作流验证

7.1打开工作流 xxx.json

基于comfyui的,或者自己定义节点)

http://ip:8188/

7.2执行绘图

默认图片:存储在comfyui/output目录下

8.vsftpd支持用户下载历史画图

8.1安装vsftpd

apt-get updat
apt install vsftpd
systemctl enable --now vsftpd

8.2新增ftp用户及目录

mkdir -p /data/ftp/output
useradd -m -s /sbin/nologin  ftpmodels
chown -R ftpmodels: /data/ftp
passwd ftpmodels

8.3vsftpd配置

/etc/vsftpd.conf

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/data/ftp
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40010
pasv_address=<public-ip>
pam_service_name=vsftpd

pasv_address填写实际外网IP

/etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth    required        pam_unix.so
account required        pam_unix.so

8.3启动vsftpd

systemctl restart vsftpd

8.4添加防火墙策略

加下访问策略 8188 21 40000-40010

8.5登录验证

ftp xxx@ip
传输模式:被动