☁️ ​为 Coze 云侧插件提供服务器部署方案(自定义扣子插件开发教程)​: 从零搭建 Flask + HTTPS + Jupyter 服务(腾讯云版)+ Coze插件开发环境

本指南总结了从 购买腾讯云服务器配置 Python 环境安装 Jupyter Lab申请与部署 SSL 证书,到 构建并上线 Flask HTTPS 服务 的完整流程。

通过此流程,你可以快速在任意新服务器上重建一套完整的可远程访问的 Python Web 环境。

🚀 本教程的目标是为 Coze 插件提供自定义部署方案——
让你的插件可以拥有独立的 HTTPS 接口,被 Coze 平台、Postman、LLM Agent 等外部工具安全访问和调用。

换句话说,你将拥有:

  • ✅ 一个在公网可访问的 Flask Web 服务;

  • ✅ 支持 HTTPS 的安全通信;

  • ✅ 与 Coze 插件完全兼容的接口 URL;

  • ✅ 可通过 Jupyter Lab 随时远程维护、更新、调试的开发环境。

🧩 一、购买并初始化服务器

1️⃣ 购买腾讯云轻量应用服务器

进入 腾讯云轻量应用服务器控制台

配置建议:

参数 推荐值
地域 北京七区(国内)或香港(国外访问更快)
系统 OpenCloudOS 9
CPU 2核
内存 2GB 起
磁盘 40GB SSD
流量包 100GB/月
镜像 宝塔 Linux 面板专享版(自带 Python 环境)

购买后在实例详情页你会看到:

公网 IPv4: 152.136.xxx.xxx
内网 IPv4: 10.x.x.x

🧮 二、基础环境配置

连接方式:

ssh root@152.136.xxx.xxx

初始化系统与依赖:

yum update -y yum install -y python3 python3-pip git vim net-tools

📘 三、配置 Jupyter Lab(远程代码调试环境)

1️⃣ 安装

pip install jupyterlab notebook

2️⃣ 生成配置文件

jupyter notebook --generate-config

3️⃣ 设置登录密码

jupyter server password

输出:

Enter password: ******** Verify password: ******** [JupyterPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_server_config.json

4️⃣ 后台启动 Jupyter

nohup jupyter lab --allow-root --ip=0.0.0.0 --port=8889 > /root/jupyter.log 2>&1 &

5️⃣ 查看启动情况

tail -n 20 /root/jupyter.log

输出示例:

JupyterLab application directory is /usr/local/share/jupyter/lab [I ServerApp] Jupyter Server 2.17.0 is running at: [I ServerApp] http://127.0.0.1:8889/lab [I ServerApp] http://VM-24-10-opencloudos:8889/lab

6️⃣ 防火墙放行 8889 端口

在腾讯云控制台 → “轻量应用服务器” → “防火墙” 添加规则:

协议 端口 来源 策略 备注
TCP 8889 0.0.0.0/0 允许 Jupyter Lab 远程访问

7️⃣ 从任意电脑访问

浏览器输入:

http://<公网IP>:8889

例如:

http://152.136.225.228:8889

然后输入你设置的密码即可打开 Notebook。

小贴士:

  • 若无法访问,检查:

    systemctl status firewalld

    Active: inactive (dead),说明系统防火墙未开启(无需处理)。

  • 若仍拒绝访问,多半是腾讯云防火墙没开放 8889。


🌍 四、配置 Flask 服务

在 Jupyter 或 SSH 中创建:
/root/notebooks/main.py

# === Flask 基础服务 ===
from flask import Flask, request, jsonify
import pandas as pd
import io
import requests

app = Flask(__name__)

@app.route('/')
def home():
    return "✅ Flask 服务已启动,服务器运行正常!"

@app.route('/api/well_log_summary', methods=['POST'])
def well_log_summary():
    try:
        # 从 Coze 或用户请求中获取文件 URL
        data = request.json
        file_url = data.get("file_url")
        if not file_url:
            return jsonify({"error": "请提供 file_url 参数"}), 400

        # 下载 Excel 文件
        response = requests.get(file_url)
        df = pd.read_excel(io.BytesIO(response.content))

        # 返回表头信息与前几行数据
        headers = list(df.columns)
        preview = df.head(5).to_dict(orient="records")

        return jsonify({
            "status": "success",
            "headers": headers,
            "preview": preview
        })
    except Exception as e:
        return jsonify({"error": str(e)}), 500

if __name__ == "__main__":
    print("🚀 Flask 正在通过 HTTPS 启动,请稍候访问 https://yongan.site:443/")
    app.run(host="0.0.0.0", port=443, ssl_context=("/etc/nginx/ssl/fullchain.pem", "/etc/nginx/ssl/privkey.pem"))

后台启动:

nohup python3 -u /root/notebooks/main.py > /root/flask_https.log 2>&1 &

查看运行状态:

tail -n 20 /root/flask_https.log

出现:

Running on https://127.0.0.1:443 Running on https://10.x.x.x:443

说明 Flask 启动成功。


🔐 五、购买域名 + 配置 HTTPS

1️⃣ 购买域名

在 腾讯云域名注册 购买
例如:yongan.site

2️⃣ 配置解析

DNS 解析 → “添加记录”

主机记录 类型 记录值 TTL
@ A 152.136.225.228 600

验证:

nslookup yongan.site

输出应为你的公网 IP。


3️⃣ 申请免费 SSL 证书

  • 打开 SSL 证书控制台

  • 选择「TrustAsia DV 免费证书」

  • 域名验证方式:自动 DNS 验证(推荐)

  • 等待 1–2 分钟签发成功。

证书包中会有:

yongan.site_bundle.pem 
yongan.site.key

上传到服务器:

mkdir -p /etc/nginx/ssl/ 
cp /root/notebooks/ssl/yongan.site_bundle.pem /etc/nginx/ssl/fullchain.pem 
cp /root/notebooks/ssl/yongan.site.key /etc/nginx/ssl/privkey.pem

🔥 六、开放 HTTPS 端口

在腾讯云防火墙中再添加规则:

协议 端口 来源 策略 备注
TCP 443 0.0.0.0/0 允许 HTTPS 访问

验证端口:

ss -tuln | grep 443

若输出:

tcp LISTEN 0 128 0.0.0.0:443 ...

说明服务正在监听。


🧪 七、测试访问

浏览器访问:

https://yongan.site/
(这里替换为你的域名)

出现:

✅ Flask 服务已启动,服务器运行正常!

即表示部署完全成功 🎉


🤖 八、Coze 插件接入配置

Coze 插件平台 中填写:

字段 内容
插件 URL https://yongan.site/api/well_log_summary
Header User-Agent: Coze/1.0
授权方式 无需授权

点击测试,如果返回 JSON 内容,表示插件连通成功 ✅。


🧹 九、维护与调试命令汇总

功能 命令
查看 Flask 进程 `ps -ef
结束 Flask kill -9 PID
查看日志 tail -n 30 /root/flask_https.log
检查端口 `ss -tuln
重启 Flask nohup python3 -u /root/notebooks/main.py > /root/flask_https.log 2>&1 &
查看公网 IP curl ifconfig.me
测试本地 HTTPS curl -vk https://yongan.site/

🧭 十、常见问题与解决

问题 原因 解决
ERR_CONNECTION_CLOSED 未开放 443 端口 在腾讯云防火墙中添加 TCP 443
Address already in use Flask 已运行 `netstat -tulnp
ModuleNotFoundError 缺少依赖 pip install flask pandas requests
https://无法访问 证书未部署或路径错误 检查 /etc/nginx/ssl/ 文件名一致性
Logo

更多推荐