Speech Seaco Paraformer ASR部署教程:云服务器公网访问配置
1. 为什么需要这篇教程?
你可能已经成功在本地或测试环境跑通了 Speech Seaco Paraformer ASR 的 WebUI,但真正想用它做点实事——比如让团队成员远程上传会议录音、让客服系统调用识别接口、或者嵌入到内部知识管理平台里——光靠http://localhost:7860是远远不够的。
本地能跑 ≠ 外网可用。很多用户卡在最后一步:明明服务启动了,浏览器却打不开;明明服务器IP填对了,局域网也连不上;更别说从公司外、手机上访问了。这不是模型问题,也不是代码bug,而是典型的「云服务器网络配置盲区」。
本教程不讲模型原理,不重复安装步骤,只聚焦一件事:如何把运行在云服务器上的 Speech Seaco Paraformer WebUI,安全、稳定、可访问地暴露给你需要的人。全程基于真实云环境(阿里云/腾讯云/华为云通用),小白可照着操作,无需改一行代码,5分钟完成关键配置。
2. 前置确认:你的服务真的在跑吗?
别急着开防火墙、配域名。先确保最基础的一环:ASR服务已在服务器后台持续运行。
2.1 检查服务状态
登录你的云服务器(SSH),执行:
ps aux | grep gradio如果看到类似以下输出,说明 WebUI 已启动:
root 12345 0.1 8.2 2456789 134567 ? Sl Jan03 2:15 python launch.py --share关键信号:进程名含
gradio或launch.py,且状态为Sl(休眠中)或S(睡眠)
如果没有,请先启动服务:
/bin/bash /root/run.sh等待约 30 秒,再次检查ps aux输出。
2.2 验证本地可访问
在服务器内部用curl测试:
curl -s http://127.0.0.1:7860 | head -n 10若返回 HTML 片段(如<html>、<title>),说明服务已就绪。
若超时或报错Connection refused,请回看/root/run.sh内容,确认启动命令是否包含--server-port 7860和--server-name 0.0.0.0(必须是0.0.0.0,不能是127.0.0.1)。
3. 三步打通公网访问:云服务器核心配置
云服务器默认是「与世隔绝」的。要让外部访问,需同时满足三个条件:端口开放、监听地址正确、反向代理就位。缺一不可。
3.1 开放云服务商安全组端口(最重要!)
这是 90% 用户失败的根源。云厂商的安全组 = 网络防火墙,它独立于系统防火墙存在,且优先级更高。
操作路径(以阿里云为例):
- 登录 阿里云控制台
- 进入「云服务器 ECS」→「实例」→ 找到你的服务器 → 点击「更多」→「网络和安全组」→「配置安全组」
- 在「入方向规则」中点击「添加安全组规则」
- 填写如下配置:
| 参数 | 值 | 说明 |
|---|---|---|
| 授权策略 | 允许 | 必须选允许 |
| 协议类型 | 自定义 TCP | 不要选 HTTP/HTTPS(它们默认只放行 80/443) |
| 端口范围 | 7860/7860 | 精确到单端口,不要写7860或7860-7860 |
| 授权对象 | 0.0.0.0/0 | 允许所有 IP 访问(生产环境建议限制为公司 IP 段) |
| 优先级 | 1 | 数值越小优先级越高 |
完成后,点击「确定」。腾讯云/华为云操作逻辑一致,仅界面文字略有差异。
验证是否生效:
在本地电脑(非服务器)执行:
telnet <你的服务器公网IP> 7860若显示Connected to ...,说明端口已通;若提示Connection refused或超时,请重新检查安全组配置。
3.2 确认 WebUI 监听地址为0.0.0.0
Gradio 默认只监听127.0.0.1(仅本地),必须显式指定--server-name 0.0.0.0才能接受外部请求。
检查/root/run.sh文件内容:
cat /root/run.sh确保启动命令中包含:
--server-name 0.0.0.0 --server-port 7860❌ 错误示例(无法外网访问):
python launch.py --share正确示例(支持外网):
python launch.py --server-name 0.0.0.0 --server-port 7860如需修改,编辑脚本:
nano /root/run.sh保存后重启服务:
/bin/bash /root/run.sh3.3 (可选但推荐)配置 Nginx 反向代理
直接暴露7860端口有风险:易被扫描、URL 不友好、无法 HTTPS。用 Nginx 做一层代理,既安全又专业。
安装并配置 Nginx(Ubuntu/Debian):
apt update && apt install -y nginx systemctl enable nginx创建代理配置文件:
nano /etc/nginx/sites-available/asr-proxy粘贴以下内容(替换your-domain.com为你自己的域名,或暂用服务器 IP):
server { listen 80; server_name your-domain.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; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300; } }启用配置:
ln -sf /etc/nginx/sites-available/asr-proxy /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx完成后,即可通过
http://your-domain.com或http://<服务器IP>访问,无需加端口号。
4. 实战验证:从手机/办公室访问你的 ASR 服务
现在,我们来一次完整验证。拿出你的手机,打开浏览器,输入:
- 如果你配了域名:
http://your-domain.com - 如果没配域名:
http://<你的服务器公网IP> - 如果跳过 Nginx:
http://<你的服务器公网IP>:7860
你应该看到熟悉的 Speech Seaco Paraformer WebUI 界面。
4.1 快速测试流程
- 切换到🎤 单文件识别Tab
- 上传一个 10 秒内的
.wav文件(推荐用手机录音一段“你好,今天天气不错”) - 点击 ** 开始识别**
- 观察结果是否正常返回(文本 + 置信度 + 耗时)
成功标志:识别结果秒出,无报错,界面响应流畅。
4.2 常见卡点排查表
| 现象 | 最可能原因 | 快速解决 |
|---|---|---|
| 打不开网页(白屏/连接超时) | 安全组未开放 7860 端口 | 回 3.1 节检查并添加规则 |
| 打开网页但功能异常(上传失败、按钮无反应) | WebUI 未监听0.0.0.0 | 回 3.2 节确认启动参数 |
能打开但识别报错Connection refused | Gradio 后端崩溃或未启动 | ps aux | grep gradio检查进程,重启/root/run.sh |
| 用域名打不开,但 IP 可以 | DNS 未解析或 Nginx 配置错误 | ping your-domain.com看是否解析到服务器 IP;检查 Nginx 配置语法nginx -t |
5. 生产环境加固建议(不止于能用)
当你的 ASR 服务开始被多人使用,安全与稳定性就变得至关重要。
5.1 设置基础认证(防未授权访问)
Nginx 可轻松添加用户名密码保护:
# 安装 htpasswd 工具 apt install -y apache2-utils # 创建密码文件(首次运行会提示输入密码) htpasswd -c /etc/nginx/.htpasswd asr-user # 修改 Nginx 配置,在 location {} 内添加: auth_basic "ASR Service Login"; auth_basic_user_file /etc/nginx/.htpasswd;重启 Nginx 后,访问时将弹出登录框。
5.2 启用 HTTPS(强烈推荐)
免费证书用 Certbot 一键搞定:
apt install -y certbot python3-certbot-nginx certbot --nginx -d your-domain.com全程交互式,1 分钟完成。之后所有访问自动跳转https://。
5.3 日志与监控(防突发故障)
记录关键日志,便于排障:
# 将 WebUI 启动日志重定向到文件 echo "nohup python launch.py --server-name 0.0.0.0 --server-port 7860 > /var/log/asr.log 2>&1 &" >> /root/run.sh定期查看:
tail -f /var/log/asr.log6. 总结:你已掌握云上 ASR 服务的核心命脉
回顾一下,你刚刚完成了什么:
- 确认了 Speech Seaco Paraformer ASR 服务在云服务器上真实运行
- 打开了云厂商的安全组端口,让网络流量能进来
- 强制 WebUI 监听
0.0.0.0,使其能接收外部请求 - (可选)用 Nginx 实现了干净 URL 和反向代理
- 通过手机/异地电脑完成了端到端访问验证
- 掌握了生产环境加固的三大实用技巧
这不是一个「一次性部署」,而是一套可复用的方法论。未来无论部署 Whisper、FunASR 还是任何基于 Gradio/FastAPI 的 AI 服务,这套「安全组 + 监听地址 + 反向代理」组合拳,都能让你快速上线、稳定运行。
下一步,你可以:
- 把这个 ASR 接入企业微信/钉钉机器人,实现语音消息自动转文字
- 用 Python 脚本批量调用
/api/predict/接口,处理历史录音库 - 结合热词功能,为销售会议定制专属识别词典
技术的价值,永远在于它解决了谁的问题。现在,你的问题,已经解决了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。