[ITH-Vlanif1]dhcp server static-bind ip-address 192.168.0.66 mac 00:0c:29:ba:96:45
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(生产级)直接给你。
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 完全一致。
- Windows:打开命令提示符 / PowerShell,直接执行
进阶使用: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.conf中use-ipv6=no); - 关闭其他局域网解析服务(如 Samba 的 nmbd),避免冲突。
3. Windows 设备无法解析主机名.local
- Windows 10/11 需安装Bonjour 服务(微软商店搜索 Bonjour 或安装 iTunes,自带 Bonjour);
- 确保 Windows 防火墙未拦截 mDNS 流量(允许 “Bonjour 服务” 的网络访问)。
核心总结
- Avahi 核心是安装 + 启动服务 + 放行 5353/UDP 端口,三步即可实现局域网零配置解析;
- 所有解析均为
主机名.local格式,无需记 IP,跨 Linux/Windows/macOS 兼容; - 轻量无依赖,仅占几百 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-cli和comfy --here install
安装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安装
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 文件:
-
在 Trae 中点击左下角的 Remote 按钮(或按
F1搜索Remote-SSH: Open SSH Configuration File...)。 -
选择你的用户配置文件(通常是
C:\Users\你的名字\.ssh\config或~/.ssh/config)。 -
添加或修改如下内容:
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文件中将该字段的字体调成了微软雅黑后居然都正常了,这可必须要记录下!!!
phpstorm中git设置代理
根据你描述的问题(在PhpStorm中设置Git远程仓库URL后,Profile日志无相关记录且报错),结合Proxifier的配置场景,问题很可能与Git调用的底层网络程序未被代理覆盖有关。以下是具体分析和解决方案:
⚙️ 核心原因:Git调用的外部程序未加入代理规则
PhpStorm的Git操作会调用Git安装目录下的相关程序(而非仅phpstorm64.exe),若这些程序未被Proxifier代理,则会出现连接失败或日志缺失问题。关键程序包括:
git.exe
主程序路径通常为Git安装目录\bin\git.exe(如:C:\Program Files\Git\bin\git.exe)110。git-remote-https.exe
负责HTTPS通信,位于Git安装目录\mingw64\libexec\git-core\git-remote-https.exe18。curl.exe
Git可能依赖此工具处理网络请求,位于Git安装目录\mingw64\bin\curl.exe18。
解决方案:在Proxifier中添加以下规则
- Git主程序(必需)
- 规则目标:
git.exe - 路径示例:
C:\Program Files\Git\bin\git.exe
- 规则目标:
- HTTPS通信模块(必需)
- 规则目标:
git-remote-https.exe - 路径示例:
C:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe
- 规则目标:
- Curl工具(可选,排查时建议添加)
- 规则目标:
curl.exe - 路径示例:
C:\Program Files\Git\mingw64\bin\curl.exe
- 规则目标:
验证方法:在Proxifier日志中过滤
git-remote-https.exe或curl.exe,观察是否产生代理流量68。
⚠️ 其他可能原因及排查
- 环境变量未正确配置
- Git配置问题
- 执行
git config --global http.proxy确认Git自身未配置代理(与Proxifier冲突)。 - 若已配置,清除:
git config --global --unset http.proxy
- 执行
- 日志级别不足
- 网络权限拦截
- 以管理员权限运行Proxifier和PhpStorm,避免系统防火墙拦截子进程6。
操作步骤总结
步骤
操作内容
1. 定位Git路径
找到Git安装目录下的bin、mingw64\bin和mingw64\libexec\git-core1
2. 添加Proxifier规则
为git.exe、git-remote-https.exe、curl.exe分别创建代理规则
3. 检查环境变量
确认PATH包含Git相关目录(命令行验证git --version)110
4. 启用详细日志
在PhpStorm中开启Git操作日志记录410
终极建议
优先添加git-remote-https.exe的代理规则(它是Git执行HTTPS请求的核心),并确保其路径正确。若仍无日志,尝试临时关闭防火墙并检查Proxifier日志是否有拦截记录68。只要代理覆盖了Git的网络子进程,GitHub的连接问题即可解决。