unet person image cartoon compound能否部署在云服务器?公网访问配置教程
1. 这个卡通化工具到底是什么
unet person image cartoon compound 是一个专门用来把真人照片变成卡通风格的AI工具,由科哥基于阿里达摩院 ModelScope 平台的 cv_unet_person-image-cartoon 模型构建。它不是简单加滤镜,而是用深度学习模型理解人脸结构、光影关系和风格特征,再重新“画”出一张卡通图。
很多人第一眼看到这个名字会困惑:这串英文是啥意思?其实可以拆开看:
- UNet是模型的网络结构,像一个“双向翻译器”,既能看清细节又能把握整体
- person image指处理对象是人像,不是风景或物体
- cartoon compound表示它不是单一风格,而是融合了多种卡通化要素(线条强化、色块平滑、特征夸张等)
这个工具已经封装成开箱即用的 WebUI 应用,本地跑起来就是http://localhost:7860,但默认只能本机访问。本文要解决的核心问题就是:能不能扔到云服务器上,让朋友、客户或者自己在外面手机也能打开用?答案是肯定的,而且操作比你想象中简单。
它不依赖复杂环境,不需要你从头编译模型,所有依赖都打包好了,连 GPU 都不是必须项——普通云服务器的 CPU 就能跑,只是速度稍慢些。如果你有带显卡的云主机(比如腾讯云 GN7、阿里云 gn6i),那体验会更顺滑。
2. 为什么选云服务器而不是本地部署
先说结论:云服务器不是“更好”,而是“更实用”。
本地部署当然最方便,但有几个现实痛点:
- 你在家调好了一切,想发给同事试试?得让他也装一遍 Python、下载几个 G 的模型、改一堆配置……最后大概率卡在“ModuleNotFoundError: No module named 'torch'”
- 你用的是 Mac 或 Windows,但团队里有人用 Linux,环境差异直接导致“在我电脑上好好的”
- 临时需要批量处理 50 张活动海报,本地笔记本风扇狂转、内存爆红,还可能中途崩掉
- 想做个简易 demo 给客户看效果?总不能让人家远程连你电脑吧
而一台入门级云服务器(比如 2 核 4G 的轻量应用服务器),月费不到 30 元,能同时服务 5–10 人在线使用,模型加载一次、长期驻留内存,响应稳定不掉链子。更重要的是:一次配置,永久可用;一个链接,随处可访。
它不是替代本地开发,而是把“验证效果”和“轻量使用”这件事,从你的个人电脑,搬到了一个谁都能点开就用的网页里。
3. 云服务器部署四步走(实测有效)
整个过程不需要写代码,全是命令行操作,复制粘贴就能完成。我们以主流的 Ubuntu 22.04 系统为例(CentOS 7/8、Debian 12 同理,仅个别命令微调)。
3.1 第一步:买服务器 + 连上去
- 推荐选择国内厂商的轻量应用服务器(如腾讯云轻量、阿里云共享型),开通时选 Ubuntu 22.04 镜像,地域选离你近的(比如上海、广州)
- 开通后拿到 IP 地址(如
123.56.78.90)、root 密码或密钥 - 用终端(Mac/Linux)或 PuTTY(Windows)连接:
输入密码即可登录ssh root@123.56.78.90
注意:首次登录后建议立即修改密码(
passwd命令),并关闭密码登录、启用密钥登录,更安全。本文为简化流程,暂按密码方式演示。
3.2 第二步:安装基础依赖
云服务器默认不带图形界面,但这个工具是 WebUI,只需要 Python 和几个关键库。执行以下命令(一行一行复制,回车执行):
# 更新系统源 apt update && apt upgrade -y # 安装 Python3 和 pip(Ubuntu 22.04 默认已装,保险起见检查) apt install python3 python3-pip python3-venv git wget -y # 升级 pip 到最新版 pip3 install --upgrade pip # 安装系统级依赖(Gradio 需要) apt install libgl1-mesa-glx libglib2.0-0 -y3.3 第三步:上传并运行卡通化程序
科哥已经把完整项目打包好了,你不需要自己 clone 或 build。直接用wget下载预置包(假设他提供了公开直链,如本文开头截图中的部署包):
# 创建工作目录 mkdir -p /root/cartoon-webui && cd /root/cartoon-webui # 下载科哥提供的部署包(此处为示意链接,请替换为实际地址) wget https://ucompshare-picture.s3-cn-wlcb.s3stor.compshare.cn/cartoon-v1.0.tar.gz # 解压 tar -zxvf cartoon-v1.0.tar.gz # 赋予启动脚本执行权限 chmod +x run.sh现在,你可以先本地测试是否能跑起来:
./run.sh如果看到类似这样的输出:
Running on local URL: http://127.0.0.1:7860 To create a public link, set `share=True` in `launch()`.说明程序本身没问题,只是还不能被外网访问。
3.4 第四步:开放端口 + 公网访问配置
这才是最关键的一步。默认 Gradio 只监听127.0.0.1(本机),我们需要让它监听0.0.0.0,并放行云服务器防火墙端口。
修改启动脚本
用编辑器打开run.sh:
nano /root/cartoon-webui/run.sh找到类似这一行(通常在最后一行):
python3 app.py把它改成:
python3 app.py --server-name 0.0.0.0 --server-port 7860
--server-name 0.0.0.0表示接受所有 IP 的请求--server-port 7860明确指定端口(避免随机端口)
保存退出(Ctrl+O → Enter → Ctrl+X)。
配置云平台安全组
登录你的云服务商控制台(腾讯云/阿里云),找到该服务器的「安全组」设置,添加一条入站规则:
| 方向 | 协议类型 | 端口范围 | 源 IP | 描述 |
|---|---|---|---|---|
| 入站 | TCP | 7860 | 0.0.0.0/0 | 卡通化WebUI |
注意:不要写成::/0(IPv6),除非你明确需要;0.0.0.0/0已覆盖全部 IPv4 用户。
启动服务
回到终端,再次运行:
./run.sh稍等 10–20 秒(模型首次加载较慢),然后在浏览器中打开:
http://你的服务器IP:7860比如http://123.56.78.90:7860
如果页面正常加载,出现“单图转换”“批量转换”等标签页,恭喜,你已经成功将人像卡通化工具部署到公网!
4. 让访问更友好:域名 + HTTPS(可选进阶)
现在你用 IP 加端口能访问,但http://123.56.78.90:7860不够专业,也不方便记忆。我们可以加一层“包装”:
4.1 绑定域名(免费方案)
- 在域名服务商(如阿里云万网、腾讯云DNSPod)添加一条 A 记录,把你的二级域名(如
cartoon.yourname.com)指向服务器 IP - 等待 DNS 生效(一般 10 分钟内)
4.2 配置 Nginx 反向代理(去掉端口号)
安装 Nginx:
apt install nginx -y systemctl enable nginx编辑配置文件:
nano /etc/nginx/sites-available/cartoon填入以下内容(替换cartoon.yourname.com为你的真实域名):
server { listen 80; server_name cartoon.yourname.com; location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }启用配置:
ln -sf /etc/nginx/sites-available/cartoon /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx现在访问http://cartoon.yourname.com就能直达,不用输端口。
4.3 免费 HTTPS(Let’s Encrypt)
继续执行:
apt install certbot python3-certbot-nginx -y certbot --nginx -d cartoon.yourname.com按提示操作,Certbot 会自动申请证书、配置 HTTPS,并设置自动续期。完成后,浏览器地址栏会出现小锁图标,访问地址自动跳转为https://cartoon.yourname.com。
5. 实用技巧与避坑指南
部署不是终点,日常用起来才见真章。以下是科哥项目在云环境下的真实经验总结:
5.1 如何让多人同时使用不卡顿?
- 默认 Gradio 是单进程,同一时间只处理一个请求。如果两人同时点“开始转换”,第二个人会排队等待。
- 解决方案:用
--num-workers 2启动(需修改run.sh),或更推荐——用screen启动多个实例,分别监听不同端口(如 7860/7861),再用 Nginx 做负载均衡(适合 5 人以上场景)。
5.2 图片上传失败?检查这三点
- 文件大小限制:Gradio 默认限制 10MB,云服务器带宽小的话,大图上传易超时。可在
app.py中加参数max_size=20*1024*1024(20MB) - 临时目录权限:确保
/tmp或项目内inputs/目录对www-data或root可写 - 浏览器兼容性:Safari 对某些 Gradio 版本支持不佳,建议用户用 Chrome 或 Edge
5.3 想定时清理输出文件?加个脚本就行
新建自动清理脚本:
nano /root/cartoon-webui/clean_outputs.sh内容:
#!/bin/bash find /root/cartoon-webui/outputs -type f -mtime +7 -delete设为每天凌晨 2 点执行:
crontab -e # 添加这一行 0 2 * * * /root/cartoon-webui/clean_outputs.sh5.4 模型更新了怎么办?
科哥后续升级模型时,你只需:
- 下载新版本压缩包(替换旧的
cartoon-v1.0.tar.gz) - 停止当前服务(
pkill -f "python3 app.py") - 解压覆盖(注意保留
outputs/和inputs/文件夹) - 重启
./run.sh
整个过程 2 分钟内完成,用户无感知。
6. 总结:你现在已经拥有了一个私有卡通化 SaaS
回顾一下,我们完成了什么:
- 把科哥构建的 unet person image cartoon compound 工具,从本地玩具,变成了可对外服务的 Web 应用
- 配置了云服务器基础环境,开放了必要端口,实现了公网可访问
- 可选地绑定了域名、启用了 HTTPS,让链接看起来专业可信
- 掌握了日常维护技巧:多用户支持、上传优化、自动清理、平滑升级
它不再是一个“我做给你看”的 Demo,而是一个你随时可以分享出去、别人点开就能用的轻量 AI 工具。无论是设计师快速出稿、运营做社交配图、老师制作课件插图,还是单纯想玩玩自己的卡通头像——它都稳稳接得住。
技术的价值,从来不在多酷炫,而在于多好用。当你把一个 AI 模型,变成一个别人无需安装、无需学习、点开就用的网页,你就已经完成了从“会用”到“交付”的关键一跃。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。