Ubuntu + Docker + ComfyUI 搭建数据人 ChatGpt对话

目前是用的T4主机,请给出使用Ubuntu + Docker + ComfyUI的详细的步骤

下面给你一套在 T4 GPU 主机上部署 Ubuntu + Docker + ComfyUI 的完整方案
目标是:一条命令启动,支持GPU,支持模型持久化,适合生产和长期运行。

我按 0基础到可用的顺序写。


一、系统准备(Ubuntu)

建议系统:

  • Ubuntu 22.04 LTS

  • GPU:NVIDIA T4

  • CUDA:11.8 或以上

先更新系统:

sudo apt update
sudo apt upgrade -y

安装基础工具:

sudo apt install -y git wget curl vim


二、安装 NVIDIA 驱动

先确认 GPU:

nvidia-smi

如果出现类似:

Tesla T4
Driver Version: 535.xx
CUDA Version: 12.x

说明驱动已经安装。

如果没有:

sudo ubuntu-drivers autoinstall
sudo reboot

重启后再次测试:

nvidia-smi


三、安装 Docker

安装 docker:

curl -fsSL https://get.docker.com | sh

启动 docker:

sudo systemctl enable docker
sudo systemctl start docker

把当前用户加入 docker 组:

sudo usermod -aG docker $USER

重新登录一次。

测试:

docker --version


四、安装 NVIDIA Container Toolkit(关键)

这是 Docker 使用 GPU 的核心组件

安装:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -

curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt update
sudo apt install -y nvidia-container-toolkit

配置 docker runtime:

sudo nvidia-ctk runtime configure --runtime=docker

重启 docker:

sudo systemctl restart docker


五、测试 GPU Docker

运行:

docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

如果输出:

Tesla T4

说明 GPU Docker 已经成功。


六、创建 ComfyUI 项目目录

创建目录:

mkdir comfyui
cd comfyui

创建目录结构:

mkdir models
mkdir output
mkdir input
mkdir custom_nodes

结构:

comfyui
├ models
├ output
├ input
├ custom_nodes
└ docker-compose.yml


七、编写 docker-compose.yml

创建:

vim docker-compose.yml

写入:

version: "3"

services:
comfyui:
image: runpod/comfyui:latest
container_name: comfyui

ports:
- "8188:8188"

environment:
- NVIDIA_VISIBLE_DEVICES=all
- COMFYUI_SECURITY_LEVEL=0

volumes:
- ./models:/workspace/models
- ./output:/workspace/output
- ./input:/workspace/input
- ./custom_nodes:/workspace/custom_nodes

deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]

restart: unless-stopped


八、启动 ComfyUI

启动:

docker compose up -d

查看日志:

docker logs -f comfyui

如果看到:

Running on http://0.0.0.0:8188

说明启动成功。


九、访问 ComfyUI

浏览器打开:

http://服务器IP:8188

例如:

http://123.123.123.123:8188

就可以进入 ComfyUI UI。


十、模型放哪里

模型路径:

comfyui/models/checkpoints

例如:

models
├ checkpoints
│ └ juggernautXL.safetensors
├ loras
├ vae
├ controlnet

创建:

mkdir -p models/checkpoints
mkdir -p models/loras
mkdir -p models/controlnet
mkdir -p models/vae


十一、安装常用 ComfyUI 插件

进入容器:

docker exec -it comfyui bash

安装 Manager

cd /workspace/custom_nodes

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

退出:

exit

重启:

docker restart comfyui


十二、验证 GPU 是否在工作

运行:

docker exec -it comfyui nvidia-smi

如果看到:

python

占用 GPU,说明正常。


十三、推荐模型(T4 最适合)

T4 显存 16GB

推荐:

SDXL

juggernautXL
dreamshaperXL

SD1.5

revAnimated
deliberate
anything


十四、推荐 ComfyUI 工作流

必装:

ComfyUI-Manager
Impact Pack
AnimateDiff
IPAdapter
ControlNet


十五、生产环境建议(重要)

端口不要裸露公网。

建议加:

Nginx + 域名

或者

Cloudflare Tunnel

或者

Tailscale


十六、最终部署结构(推荐)

服务器结构:

/opt/ai
├ comfyui
│ ├ models
│ ├ output
│ ├ input
│ ├ custom_nodes
│ └ docker-compose.yml

启动:

docker compose up -d


十七、一个进阶技巧(T4 性能优化)

docker-compose.yml 加:

environment:
- PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128

能减少显存碎片。


十八、如果你想做 AI生产系统(非常推荐)

可以做:

ComfyUI
+
Automatic1111
+
Ollama
+
Whisper
+
TTS

变成一个:

AI内容生产服务器

例如:

  • AI绘画

  • AI视频

  • AI配音

  • AI数字人


如果你愿意,我可以 再给你一套真正生产级的部署架构

T4服务器打造 AI工作站:

包含:

  • ComfyUI

  • SD WebUI

  • Fooocus

  • Ollama

  • OpenWebUI

  • Automatic1111

  • 视频生成

  • 数字人

全部 Docker一键部署架构

我可以直接给你一套 完整 docker-compose(行业级方案)

现在comfyUI已经可以正常工作 了

很好 ,既然 ComfyUI 已经在 T4 + Ubuntu + Docker 上正常运行,接下来建议你做的不是继续折腾安装,而是把环境升级为可长期使用的生产环境
我给你一个下一步最合理的路线(90%的人都会这么走)


一、先确认 GPU 是否真正被 ComfyUI 使用

进入容器:

docker exec -it comfyui nvidia-smi

如果看到类似:

python3 /workspace/ComfyUI/main.py

并且 GPU Memory 在增长,说明 GPU 正常。


二、安装 ComfyUI Manager(必须)

这是 ComfyUI插件管理器

进入容器:

docker exec -it comfyui bash

安装:

cd /workspace/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

退出:

exit

重启:

docker restart comfyui

刷新网页,你会看到:

Manager

按钮。


三、必须安装的插件(强烈推荐)

打开 Manager → Install Custom Nodes

建议安装:

1 控制类

ComfyUI-Impact-Pack

功能:

  • 高级控制

  • 节点增强

  • 分辨率控制


2 ControlNet

ComfyUI-Advanced-ControlNet

作用:

  • 姿势控制

  • 边缘控制

  • 深度控制


3 IPAdapter

ComfyUI_IPAdapter_plus

作用:

图片参考生成


4 AnimateDiff

ComfyUI-AnimateDiff

作用:

文生视频


5 Video Helper

ComfyUI-VideoHelperSuite

作用:

  • 视频输入

  • 视频输出


四、T4 推荐模型(非常重要)

T4 16GB 显存,最稳的是:

SDXL

推荐:

JuggernautXL
DreamShaperXL
RealVisXL

SD1.5

推荐:

revAnimated
deliberate
anything

模型放这里:

models/checkpoints


五、推荐目录结构

建议整理:

models
├ checkpoints
├ loras
├ controlnet
├ vae
├ embeddings
├ ipadapter

创建:

mkdir -p models/{checkpoints,loras,vae,controlnet,ipadapter,embeddings}


六、建议开启自动更新插件

进入:

Manager

开启:

Auto Update


七、T4 性能优化(非常关键)

进入 docker-compose.yml

增加:

environment:
- PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128

可以减少:

CUDA out of memory


八、建议打开远程访问

如果你需要远程用:

http://服务器IP:8188

建议加:

方案1

Nginx

方案2(推荐)

Cloudflare Tunnel

方案3

Tailscale


九、建议做的三件大事(最重要)

如果你是要 做 AI 内容生产 或 数字人,建议继续部署:

1 数字人

部署:

MuseTalk
SadTalker
Wav2Lip


2 视频生成

AnimateDiff
SVD


3 AI助手

部署:

Ollama
OpenWebUI


十、真正高手都会这样搭环境

最终 AI 服务器:

AI-SERVER
├ ComfyUI
├ Automatic1111
├ Fooocus
├ Ollama
├ OpenWebUI
├ Whisper
├ TTS
├ AnimateDiff
└ DigitalHuman

一台 T4 就能跑


十一、一个非常重要的问题

你现在需要用 ComfyUI 做什么?

1️⃣ AI绘画
2️⃣ 文生视频
3️⃣ AI数字人
4️⃣ 抖音内容生产
5️⃣ AI商品图
6️⃣ AI短视频

不同用途:

工作流完全不同。


如果你愿意,我可以直接给你 三套 ComfyUI 顶级工作流

1️⃣ 抖音爆款视频工作流
(AI图片 → 视频 → 配音)

2️⃣ AI数字人工作流

3️⃣ 商品图电商工作流

全部是 行业级节点图

AI数字人工作流

AI 数字人如果用 ComfyUI + 本地模型来做,一般是一个 多模块流水线(Pipeline),而不是单一工作流。
T4 16GB 上最稳定、效果最好的一套组合是:

ComfyUI + Wav2Lip / MuseTalk + TTS + Whisper

完整 AI 数字人生产链是:

文本 → 语音 → 人物视频驱动 → 合成视频

我给你一套 真正可落地的 AI 数字人工作流架构(很多短视频工作室都在用)。


一、AI数字人完整工作流

整体流程:

脚本生成

TTS语音

人像驱动

口型同步

视频生成

自动剪辑

技术组件:

GPT / LLM → 文案
TTS → 语音
MuseTalk → 嘴型驱动
Wav2Lip → 高精度口型
ComfyUI → 人物生成
FFmpeg → 视频合成


二、最稳定数字人方案(推荐)

方案A(最稳定)

ComfyUI
+
SadTalker
+
Wav2Lip
+
EdgeTTS

优点:

  • 非常稳定

  • 资源需求低

  • T4 可以跑

缺点:

  • 动作较少


方案B(效果最好)

ComfyUI
+
MuseTalk
+
SadTalker
+
IPAdapter

优点:

  • 嘴型非常自然

  • 支持真人驱动

  • 2025主流

缺点:

  • 部署稍复杂


三、AI数字人生成流程

第一步:生成数字人形象

ComfyUI工作流:

CheckpointLoader

CLIPTextEncode

KSampler

VAE Decode

SaveImage

prompt 示例:

a beautiful asian female news anchor,
studio lighting,
realistic skin,
professional broadcast,
4k

生成一张:

数字人头像


第二步:生成语音

推荐:

EdgeTTS

安装:

pip install edge-tts

生成语音:

edge-tts
--voice zh-CN-XiaoxiaoNeural
--text "今天给大家讲一个商业真相"
--write-media speech.mp3


第三步:生成说话视频

推荐:

SadTalker

输入:

人物图片
+
speech.mp3

输出:

会说话的视频


四、口型增强(关键)

使用:

Wav2Lip

作用:

让嘴型和语音完全同步

流程:

SadTalker视频
+
speech.mp3

Wav2Lip

最终视频


五、AI数字人自动流水线

最终自动化流程:

脚本生成

EdgeTTS

SadTalker

Wav2Lip

FFmpeg

抖音视频

自动输出:

1080P视频


六、T4服务器推荐架构

你的服务器现在可以这样升级:

AI-SERVER

├ ComfyUI
├ SadTalker
├ Wav2Lip
├ MuseTalk
├ EdgeTTS
├ FFmpeg
└ Ollama

全部 docker 化。


七、数字人素材库(重要)

准备素材:

人物

数字人头像
数字人半身
数字人全身

背景

新闻背景
办公室背景
科技背景

声音

男声
女声
情绪


八、爆款数字人视频模板

短视频结构:

3秒钩子

核心观点

反转

总结

示例:

你以为赚钱靠努力?

其实不是。

真正赚钱的人,
靠的是信息差。

比如AI。


九、全自动AI数字人工厂

最高级玩法是:

脚本生成

TTS

数字人

自动剪辑

自动发布

实现:

Python
+
ComfyUI API
+
FFmpeg
+
Auto Upload

可以做到:

一天自动生产 100 条视频


十、2026最强数字人技术

当前效果排名:

1 MuseTalk
2 Wav2Lip
3 SadTalker
4 D-ID
5 HeyGen

本地部署最强:

MuseTalk + Wav2Lip


十一、我非常建议你做一件事

既然你已经:

T4
ComfyUI
Docker

你完全可以搭一个:

AI短视频工厂

自动生产:

AI数字人
AI商业解读
AI历史故事
AI财经评论

一天产出:

50条视频


如果你愿意,我可以直接给你:

一套完整的 AI数字人生产系统(行业级)

包括:

1️⃣ MuseTalk 一键部署 docker
2️⃣ Wav2Lip docker
3️⃣ SadTalker docker
4️⃣ ComfyUI 数字人工作流 JSON
5️⃣ 自动生成视频脚本

甚至可以做到:

输入一句话 → 自动生成完整抖音视频。

如果需要,我可以把 整套部署架构 + 工作流图 全部画出来。

已上传的图片

给出详细的安装步骤

你现在的目标是部署这一套 AI数字人方案B(效果最好)

ComfyUI
+ MuseTalk
+ SadTalker
+ IPAdapter

你的环境已经是:

  • Ubuntu

  • Docker

  • ComfyUI 已经运行

  • GPU:T4 16GB

所以我们只需要 增加三个模块

1️⃣ IPAdapter(ComfyUI插件)
2️⃣ SadTalker(数字人驱动)
3️⃣ MuseTalk(最强口型驱动)

我给你一套 可稳定运行的完整步骤


一、安装 IPAdapter(ComfyUI插件)

这是最简单的一步。

进入 ComfyUI 容器:

docker exec -it comfyui bash

进入插件目录:

cd /workspace/custom_nodes

安装插件:

git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git

退出容器:

exit

重启 ComfyUI:

docker restart comfyui


下载 IPAdapter 模型

创建目录:

mkdir -p models/ipadapter

下载模型:

cd models/ipadapter

wget https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter-plus_sdxl_vit-h.safetensors

CLIP Vision 模型:

mkdir -p models/clip_vision

cd models/clip_vision

wget https://huggingface.co/h94/IP-Adapter/resolve/main/models/image_encoder/model.safetensors


二、安装 SadTalker

SadTalker 用来 让图片开口说话

创建目录:

cd /opt
git clone https://github.com/OpenTalker/SadTalker.git
cd SadTalker

创建 Python 环境:

python3 -m venv sadtalker_env
source sadtalker_env/bin/activate

安装依赖:

pip install -r requirements.txt

安装 PyTorch(T4 推荐):

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


下载 SadTalker 模型

创建模型目录:

mkdir checkpoints

下载模型:

bash scripts/download_models.sh

如果下载慢:

可以使用国内镜像或 HuggingFace 下载。


测试 SadTalker

准备:

  • 一张人脸图片 face.png

  • 一段语音 speech.wav

运行:

python inference.py \
--driven_audio speech.wav \
--source_image face.png \
--result_dir results

输出:

results/result.mp4


三、安装 MuseTalk(核心)

MuseTalk 是 目前最自然的嘴型驱动模型

安装依赖:

cd /opt
git clone https://github.com/TMElyralab/MuseTalk.git
cd MuseTalk

创建环境:

python3 -m venv musetalk_env
source musetalk_env/bin/activate

安装依赖:

pip install -r requirements.txt

安装 PyTorch:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


下载 MuseTalk 模型

创建模型目录:

mkdir models

下载:

python scripts/download_models.py

如果失败:

可以手动下载:

主要模型:

musetalk.pth
wav2vec2
face parsing model


四、测试 MuseTalk

准备:

face.mp4
speech.wav

运行:

python inference.py \
--video_path face.mp4 \
--audio_path speech.wav \
--result_path result.mp4

输出:

result.mp4

嘴型会和语音同步。


五、完整 AI数字人流水线

最终流程是:

ComfyUI 生成数字人

EdgeTTS 生成语音

SadTalker 生成基础视频

MuseTalk 优化嘴型

FFmpeg 合成最终视频


六、自动化脚本示例

自动流程:

text → speech → video

例如:

python generate_avatar_video.py \
--text "AI时代已经来了" \
--avatar girl.png

自动生成:

AI数字人视频.mp4


七、服务器最终结构(推荐)

建议结构:

/opt/ai

├ comfyui
├ musetalk
├ sadtalker
├ wav2lip
├ tts
└ output


八、T4 推荐参数

MuseTalk:

分辨率 512
batch 4
fp16 开启

ComfyUI:

1024 SDXL


九、数字人效果最佳组合

业内现在最强是:

ComfyUI (人物生成)
+
IPAdapter (人物一致性)
+
MuseTalk (嘴型)
+
EdgeTTS (语音)

效果接近:

HeyGen
D-ID

完全本地部署


十、如果你愿意,我可以给你一套更高级的

我可以直接给你:

一套完整 AI数字人系统

包括:

  • Docker一键部署

  • MuseTalk + SadTalker + Wav2Lip

  • ComfyUI数字人工作流

  • 自动生成抖音视频

最终做到:

输入一句话

自动生成脚本

自动生成语音

自动生成数字人视频

也就是:

AI短视频工厂。

如果需要,我可以把 整套 docker-compose(生产级)直接给你。

发表在 AI

Avahi 完整安装与使用教程(Linux 局域网零配置解析)

Avahi 是 Linux 下轻量的mDNS/DNS-SD 零配置网络服务,对应 Windows 的 Bonjour、macOS 的原生零配置解析,安装后无需手动配置,就能实现局域网内主机名.local的自动 IP 解析,替代手动修改/etc/hosts,完美实现类似 Windows 的局域网主机名解析效果,仅需几步即可完成部署和使用

一、Avahi 安装(主流 Linux 发行版全覆盖)

1. Debian/Ubuntu 系列(Ubuntu 20.04/22.04、Deepin、Kali 等)

bash

<?XML:NAMESPACE PREFIX = “[default] http://www.w3.org/2000/svg” NS = “http://www.w3.org/2000/svg” />

运行

# 先更新软件源,再安装核心包+工具包
sudo apt update && sudo apt install avahi-daemon avahi-utils -y
  • avahi-daemon:Avahi 核心服务进程,负责局域网 mDNS 广播和解析
  • avahi-utils:辅助工具包(含avahi-resolve/avahi-browse等实用命令)
2. CentOS/RHEL 系列(CentOS 7/8/9、Rocky Linux、AlmaLinux 等)

CentOS 需先启用EPEL 源(Avahi 包在 EPEL 仓库),再安装:

bash

运行

# 安装EPEL源(已安装则跳过)
sudo yum install epel-release -y
# 安装Avahi核心包+工具包
sudo yum install avahi avahi-tools -y
3. Fedora 系列

bash

运行

sudo dnf install avahi-daemon avahi-utils -y
4. Arch Linux/Manjaro 系列

bash

运行

sudo pacman -S avahi avahi-utils -y

二、Avahi 服务管理(核心步骤,必须确保服务运行)

Avahi 依赖avahi-daemon进程,安装后需启动服务并设置开机自启,所有发行版均使用systemd命令(通用),一步到位:

bash

运行

# 1. 启动Avahi服务
sudo systemctl start avahi-daemon
# 2. 设置开机自启(重启系统后自动运行,避免每次手动启动)
sudo systemctl enable avahi-daemon
# 3. 验证服务状态(关键:显示active(running)即为正常)
sudo systemctl status avahi-daemon
服务状态正常输出示例

plaintext

● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
     Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2026-02-04 10:00:00 CST; 10s ago
       Docs: man:avahi-daemon(8)
   Main PID: 1234 (avahi-daemon)
      Tasks: 2 (limit: 19000)
     Memory: 1.2M
     CGroup: /system.slice/avahi-daemon.service
             ├─1234 avahi-daemon: running [linux-server.local]
             └─1235 avahi-daemon: chroot helper

从状态中能直接看到本机的解析域名:主机名.local(如上述linux-server.local)。

常见服务问题解决

若执行status显示failed,大概率是端口被占用(mDNS 默认用 UDP 5353),执行以下命令排查并释放端口:

bash

运行

# 查找占用5353端口的进程
sudo lsof -i :5353
# 杀死占用进程(替换PID为实际查到的进程号)
sudo kill -9 PID
# 重新启动Avahi
sudo systemctl restart avahi-daemon

三、防火墙放行(关键!否则局域网设备无法发现)

Avahi 基于UDP 5353 端口进行 mDNS 广播和解析,若 Linux 开启了防火墙(ufw/firewalld),必须放行该端口,否则局域网其他设备无法解析本机主机名.local,本机也无法解析其他设备。

1. Ubuntu/Debian 系列(用 ufw 防火墙)

bash

运行

# 放行UDP 5353端口
sudo ufw allow 5353/udp
# 重新加载防火墙规则
sudo ufw reload
# 验证放行结果
sudo ufw status
2. CentOS/RHEL/Fedora 系列(用 firewalld 防火墙)

bash

运行

# 永久放行UDP 5353端口(--permanent 表示重启防火墙生效)
sudo firewall-cmd --permanent --add-port=5353/udp
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证放行结果
sudo firewall-cmd --list-ports

四、Avahi 核心使用方法(解析 / 查询 / 发现)

安装并配置完成后,无需任何额外配置,直接在局域网内使用主机名.local即可实现 IP 解析,支持ping/ssh/curl等所有网络命令,同时提供专属工具实现更灵活的查询。

基础使用:直接解析局域网主机名.local
1. 查看本机解析域名

先通过hostname查看本机主机名,拼接.local即为 Avahi 解析域名:

bash

运行

hostname  # 输出示例:ubuntu-pc → 解析域名为ubuntu-pc.local
2. 局域网内解析 / 访问(核心功能)
  • ping 测试解析(最直接验证):

    在局域网另一台设备(Linux/Windows/macOS)上,直接 ping 本机的主机名.local,会自动解析到对应 IP:

    bash

    运行

    # 示例:ping ubuntu-pc.local,-c 2 表示只发2个包
    ping ubuntu-pc.local -c 2
    

    正常输出(已成功解析 IP):

    plaintext

    PING ubuntu-pc.local (192.168.1.105) 56(84) bytes of data.
    64 bytes from 192.168.1.105 (192.168.1.105): icmp_seq=1 ttl=64 time=0.520 ms
    64 bytes from 192.168.1.105 (192.168.1.105): icmp_seq=2 ttl=64 time=0.480 ms
    
  • ssh 远程连接(实用场景):

    无需记 IP,直接用主机名.local连接局域网内的 Linux 设备:

    bash

    运行

    ssh root@ubuntu-pc.local  # 替换为实际用户名和主机名.local
    
  • Windows/macOS 兼容访问

    • Windows:打开命令提示符 / PowerShell,直接执行ping ubuntu-pc.local -n 2即可解析;
    • macOS:打开终端,用法和 Linux 完全一致。
进阶使用:Avahi 专属工具(精准查询 / 发现)

安装的avahi-utils/avahi-tools包含多个实用命令,可实现反向解析(IP 查主机名)扫描局域网所有 Avahi 设备等功能。

1. avahi-resolve:精准解析(主机名→IP / IP→主机名)
(1)主机名转 IP(替代 ping,仅输出 IP,适合脚本)

bash

运行

# 语法:avahi-resolve -n 主机名.local
avahi-resolve -n ubuntu-pc.local

输出:ubuntu-pc.local 192.168.1.105

(2)IP 转主机名(反向解析,查局域网 IP 对应的设备名)

bash

运行

# 语法:avahi-resolve -a 目标IP
avahi-resolve -a 192.168.1.105

输出:192.168.1.105 ubuntu-pc.local

2. avahi-browse:扫描局域网所有 Avahi 设备

一次性列出局域网内所有开启了 mDNS/Avahi/Bonjour的设备(Linux/Windows 10+/macOS/ 智能家居),包含设备名、IP、服务类型:

bash

运行

# 扫描所有局域网设备(-a 表示所有类型)
avahi-browse -a
3. avahi-discover:图形化扫描(有桌面环境时使用)

若 Linux 安装了图形桌面(如 GNOME/KDE),可直接打开图形化工具,可视化查看局域网设备,操作更直观:

bash

运行

avahi-discover

五、Avahi 常用配置修改(可选,默认无需改)

Avahi 安装后默认配置即可满足 99% 的使用场景,无需修改配置文件;若有特殊需求(如修改主机名、禁用 IPv6、修改广播域),可编辑核心配置文件/etc/avahi/avahi-daemon.conf

1. 编辑配置文件

bash

运行

sudo vim /etc/avahi/avahi-daemon.conf
2. 常用配置项修改(取消注释即可生效)

ini

[server]
host-name=linux-node  # 修改本机Avahi解析的主机名(默认和系统主机名一致)
domain-name=local     # 解析后缀(默认local,不建议改)
use-ipv4=yes          # 启用IPv4(必开,局域网主要用IPv4)
use-ipv6=no           # 禁用IPv6(避免解析干扰,可选)
allow-interfaces=eth0 # 仅在指定网卡广播(如eth0/ens33,默认所有网卡)

[wide-area]
enable-wide-area=no   # 禁用广域网解析,仅局域网生效(推荐)
3. 配置生效

修改配置后,重启 Avahi 服务即可生效:

bash

运行

sudo systemctl restart avahi-daemon

六、Avahi 卸载(如需清理)

若后续无需使用,可一键卸载,清理所有相关包和配置:

Debian/Ubuntu 系列

bash

运行

sudo apt remove avahi-daemon avahi-utils -y && sudo apt autoremove -y
CentOS/RHEL 系列

bash

运行

sudo yum remove avahi avahi-tools -y
Arch Linux/Manjaro 系列

bash

运行

sudo pacman -Rns avahi avahi-utils -y

七、常见问题排查

1. 局域网设备 ping 主机名.local 提示未知的主机
  • 检查本机 Avahi 服务是否正常运行(systemctl status avahi-daemon);
  • 检查防火墙是否放行 UDP 5353 端口(核心原因);
  • 确认两台设备在同一局域网(同一网段,如 192.168.1.x)。
2. 解析成功但延迟高
  • 禁用 IPv6(修改avahi-daemon.confuse-ipv6=no);
  • 关闭其他局域网解析服务(如 Samba 的 nmbd),避免冲突。
3. Windows 设备无法解析主机名.local
  • Windows 10/11 需安装Bonjour 服务(微软商店搜索 Bonjour 或安装 iTunes,自带 Bonjour);
  • 确保 Windows 防火墙未拦截 mDNS 流量(允许 “Bonjour 服务” 的网络访问)。

核心总结

  1. Avahi 核心是安装 + 启动服务 + 放行 5353/UDP 端口,三步即可实现局域网零配置解析;
  2. 所有解析均为主机名.local格式,无需记 IP,跨 Linux/Windows/macOS 兼容;
  3. 轻量无依赖,仅占几百 KB 内存,比 Samba 更适合仅需局域网解析的场景,无多余功能冗余。

windows ssh 密钥连接linux

windows 中打开powershell 运行以下命令

ssh-keygen -t rsa -b 4096 -C your_email@example.com

运行以下命令查看公钥

Get-Content ~/.ssh/id_rsa.pub

登录linux服务器运行以下命令

mkdir -p ~/.ssh

chmod 700 ~/.ssh

echo “粘贴公钥内容” >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

在Windows 11上创建或编辑C:\Users\用户名\.ssh\config文件:

    Host mylinux
     HostName linux_host_ip
     User username
     IdentityFile ~/.ssh/id_rsa
     IdentitiesOnly yes

comfyUI

安装步骤:

安装环境:pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130

升级下pip:pip install --upgrade pip

安装comfy-cli命令行工具:pip install comfy-clicomfy --here install

image-20260113102640400

安装ComfyUI-Manager:

cd ComfyUI
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager
cd ComfyUI-Manager
pip install -r requirements.txt

运行comfyui(新建一个终端):

cd ComfyUI
python main.py --listen 0.0.0.0 --port 8188 #自定义端口

或者:comfy launch

查看端口,然后在浏览器启动comfyui:如果google浏览器打开comfyui出现问题可以更换其他浏览器

在下载模型至对应文件夹时,有里需要手动修改文件名

n8n python runner docker compose

services:
   n8n:
     image: n8nio/n8n:latest
     container_name: n8n_v1
     restart: always
     ports:
       – “5678:5678”
     volumes:
       – /home/node/n8n:/home/node/.n8n
       – /home/node/n8ndata:/home/node/n8ndata
     environment:
       – GENERIC_TIMEZONE=Asia/Shanghai
       – TZ=Asia/Shanghai
       – N8N_SECURE_COOKIE=false
       – N8N_BASIC_AUTH_ACTIVE=false
       – N8N_RUNNERS_ENABLED=true
       – N8N_RUNNERS_MODE=external
       – N8N_RUNNERS_AUTH_TOKEN=your_secure_token_123
       – N8N_RUNNERS_TASK_BROKER_HOST=0.0.0.0  # 确保 Broker 监听全网段
       – N8N_RUNNERS_BROKER_LISTEN_ADDRESS=0.0.0.0
       – NODES_EXCLUDE=[]

  n8n-runner:
     image: n8nio/runners:latest
     container_name: n8n-runner
     restart: always
     volumes:
       – /home/node/n8ndata:/home/node/n8ndata
     environment:
       – N8N_RUNNERS_AUTH_TOKEN=your_secure_token_123
       – N8N_RUNNERS_TASK_BROKER_URI=http://n8n_v1:5679 # 这里建议换成容器名测试
       – PY_PACKAGES=pandas,requests,numpy
       – PY_ALLOW_LIST=”*”
       – N8N_BLOCK_ENV_ACCESS_IN_NODE=false
       – TZ=Asia/Shanghai
     depends_on:
       – n8n

发表在 n8n

n8n安装

docker run -d \
–name n8n_v1 \
-p 5678:5678 \
-e GENERIC_TIMEZONE=”Asia/Shanghai” \
-e TZ=”Asia/Shanghai” \
-e N8N_SECURE_COOKIE=false \
-e N8N_BASIC_AUTH_ACTIVE=false \
-v /usr/bin/python3:/usr/bin/python3 \
-e N8N_RUNNERS_MODE=external \
-e N8N_EXTERNAL_PYTHON_PATH=/usr/bin/python3 \
-e N8N_RUNNERS_AUTH_TOKEN=SuperSecret@123 \
-v /home/node/n8n:/home/node/.n8n \
-v /home/node/n8ndata:/home/node/n8ndata \
  n8nio/n8n

trae 在使用远程连接时能否保存凭据,而不是每次都需要输入登录密码?

在使用 Trae(或其底层基于的 VS Code 架构)进行远程连接(通常是通过 SSH)时,完全可以实现免密登录

这并不是通过在软件里“保存密码文本”实现的,而是通过 SSH 密钥对(Key Pairs) 验证。这是目前最安全且通用的做法。

以下是实现步骤:

1. 在本地机器生成密钥对

如果你的电脑(Windows、Mac 或 Linux)还没有 SSH 密钥,打开终端(PowerShell 或 终端),输入:

Bash

ssh-keygen -t rsa -b 4096

一路按回车(Enter)即可。这会在你的用户目录下的 .ssh 文件夹生成 id_rsa(私钥)和 id_rsa.pub(公钥)。

2. 将公钥发送到远程服务器

你需要把本地的公钥内容拷贝到服务器的特定文件中。最简单的方法是:

  • Mac/Linux:

    Bash

    ssh-copy-id 用户名@服务器IP
    
  • Windows (PowerShell):

    PowerShell

    cat ~/.ssh/id_rsa.pub | ssh 用户名@服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

    (执行后需要最后输入一次服务器密码)


3. 配置 Trae 的 SSH Config 文件

为了让 Trae 自动识别连接信息,建议配置 config 文件:

  1. 在 Trae 中点击左下角的 Remote 按钮(或按 F1 搜索 Remote-SSH: Open SSH Configuration File...)。

  2. 选择你的用户配置文件(通常是 C:\Users\你的名字\.ssh\config~/.ssh/config)。

  3. 添加或修改如下内容:

    Plaintext

    Host my_server_alias          # 你自定义的别名,以后连这个就行
        HostName 1.2.3.4          # 服务器实际 IP
        User root                 # 登录用户名
        IdentityFile ~/.ssh/id_rsa # 指向你的私钥路径
    

4. 解决 Windows 特有的“重复弹窗”问题

如果你已经配置了密钥,但 Trae 仍然弹出询问框,通常是因为 Windows 的 SSH Agent 没有启动。

  • 按下 Win + X,选择 终端(管理员)PowerShell(管理员)

  • 运行以下命令:

    PowerShell

    # 设置服务为自动启动
    Set-Service -Name ssh-agent -StartupType Automatic
    # 启动服务
    Start-Service ssh-agent
    # 将你的密钥加入代理
    ssh-add ~/.ssh/id_rsa
    
总结

配置完成后,你在 Trae 的远程资源管理器中点击连接,它会直接通过密钥握手进入系统,不再跳出密码输入框。

需要我帮你检查一下当前 SSH 报错的具体信息,还是指导你如何找到公钥文件?

PHP代码不执行的原因

公众号查询系统,上传excel文件进行批量生成Pdf证书,有一个字段死活是没有办法插入到数据库中,无论如何调试都没有用,其它字段都正常,而且通过命令行,在服务器终端上执行也正常。

费了半天劲,终于发现,在excel文件中将该字段的字体调成了微软雅黑后居然都正常了,这可必须要记录下!!!

发表在 php

phpstorm中git设置代理

根据你描述的问题(在PhpStorm中设置Git远程仓库URL后,Profile日志无相关记录且报错),结合Proxifier的配置场景,问题很可能与Git调用的底层网络程序未被代理覆盖有关。以下是具体分析和解决方案:

⚙️ 核心原因:Git调用的外部程序未加入代理规则

PhpStorm的Git操作会调用Git安装目录下的相关程序(而非仅phpstorm64.exe),若这些程序未被Proxifier代理,则会出现连接失败或日志缺失问题。关键程序包括:

  1. git.exe
    主程序路径通常为 Git安装目录\bin\git.exe(如:C:\Program Files\Git\bin\git.exe110
  2. git-remote-https.exe
    负责HTTPS通信,位于 Git安装目录\mingw64\libexec\git-core\git-remote-https.exe18
  3. curl.exe
    Git可能依赖此工具处理网络请求,位于 Git安装目录\mingw64\bin\curl.exe18
解决方案:在Proxifier中添加以下规则
  1. Git主程序(必需)
    • 规则目标:git.exe
    • 路径示例:C:\Program Files\Git\bin\git.exe
  2. HTTPS通信模块(必需)
    • 规则目标:git-remote-https.exe
    • 路径示例:C:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe
  3. Curl工具(可选,排查时建议添加)
    • 规则目标:curl.exe
    • 路径示例:C:\Program Files\Git\mingw64\bin\curl.exe

验证方法:在Proxifier日志中过滤git-remote-https.execurl.exe,观察是否产生代理流量68

⚠️ 其他可能原因及排查
  1. 环境变量未正确配置
    • 确保Git的bingit-core目录已加入系统环境变量PATH(如未添加会导致PhpStorm找不到Git)110
    • 检查方法:命令行执行 git --version 是否能正常返回版本号。
  2. Git配置问题
    • 执行 git config --global http.proxy 确认Git自身未配置代理(与Proxifier冲突)。
    • 若已配置,清除:git config --global --unset http.proxy
  3. 日志级别不足
    • 在PhpStorm的Git设置中启用详细日志:
      Settings > Version Control > Git → 勾选 Show detailed commit dialogLog actions410
  4. 网络权限拦截
    • 以管理员权限运行Proxifier和PhpStorm,避免系统防火墙拦截子进程6
操作步骤总结

步骤
操作内容

1. 定位Git路径
找到Git安装目录下的binmingw64\binmingw64\libexec\git-core1

2. 添加Proxifier规则
git.exegit-remote-https.execurl.exe分别创建代理规则

3. 检查环境变量
确认PATH包含Git相关目录(命令行验证git --version110

4. 启用详细日志
在PhpStorm中开启Git操作日志记录410

终极建议

优先添加git-remote-https.exe的代理规则(它是Git执行HTTPS请求的核心),并确保其路径正确。若仍无日志,尝试临时关闭防火墙并检查Proxifier日志是否有拦截记录68。只要代理覆盖了Git的网络子进程,GitHub的连接问题即可解决。

发表在 git