从零开始:在华为云 Flexus L 实例上部署你的第一个 AI Agent 应用
本文记录一次完整的实操过程:如何用一台轻量级云服务器,把一个 AI Agent 小应用从本地搬到云端,实现公网可访问。适合刚接触云计算、想在真实云环境里练手的开发者。
一、为什么选择轻量应用服务器
很多开发者在学 AI Agent 开发时都卡在同一个地方:本地跑得好好的 Demo,想给同事或朋友演示一下,却发现没有公网 IP、防火墙难配、每次都要开热点共享。这时一台轻量应用服务器(华为云 Flexus L 实例)就是最顺手的"练兵场":
- 开箱即用:购买时可以直接选择应用镜像,省去自己装环境的步骤;
- 成本可控:轻量服务器按月计费,价格对个人开发者非常友好;
- 自带公网 IP 和域名解析:买完即可让外部访问,不用额外折腾。
二、创建实例并初始化环境
在华为云控制台进入"Flexus 轻量服务器"购买页,关键参数建议如下:
- 镜像:选择系统镜像中的 openEuler 或 Ubuntu(如果对国产化有兴趣,openEuler 是华为自研的 Linux 发行版,软件生态完整);
- 规格:跑一个中小型 Agent 应用(比如 FastAPI + 一个大模型 API 调用),2 核 4G 足够;
- 设置 root 密码:记牢,后面 SSH 登录用。
购买完成后约 1~2 分钟即可启动。点击实例详情页的"远程登录",或者用本地终端 SSH 连接公网 IP。
初始化时建议先做三件事:
# 1. 更新软件源
apt update && apt upgrade -y # Ubuntu
dnf update -y # openEuler
# 2. 安装基础工具
apt install -y git curl vim # Ubuntu
# 3. 安装 Python 环境(Agent 应用大多基于 Python)
apt install -y python3 python3-pip
pip3 install fastapi uvicorn
三、写一个最小的 Agent Web 服务
假设我们要部署的是一个"AI 周报助手"类的小应用:接收用户输入的一周工作记录,调用大模型整理成一份结构化周报。核心代码可以非常短:
from fastapi import FastAPI
from pydantic import BaseModel
import os
import requests
app = FastAPI()
class ReportRequest(BaseModel):
raw_notes: str # 用户原始工作记录
style: str = "简洁" # 生成风格
@app.post("/api/report")
def generate_report(req: ReportRequest):
# 调用大模型 API(以华为云 ModelArts / 盘古或任意 OpenAI 兼容接口为例)
api_key = os.environ.get("LLM_API_KEY", "")
resp = requests.post(
"https://api.example.com/v1/chat/completions",
headers={"Authorization": f"Bearer {api_key}"},
json={
"model": "pangu-38b",
"messages": [
{"role": "system", "content": "你是周报整理助手,把散乱记录整理成结构化周报。"},
{"role": "user", "content": f"风格:{req.style}。内容:{req.raw_notes}"}
]
},
timeout=60
)
return {"report": resp.json()["choices"][0]["message"]["content"]}
用 uvicorn main:app --port 8000 启动后,本地已经可以 POST 测试了。
四、把服务暴露到公网
轻量服务器自带防火墙功能,需要在控制台"防火墙"页面放行端口(比如 8000 或 80)。注意两层防火墙都要过:云平台防火墙 + 系统内 iptables/firewalld。
生产上有两点建议:
- 不要裸奔 HTTP:用 Caddy 或 Nginx + 免费证书做 HTTPS,一分钟就能配好。Caddy 最省事:
apt install -y caddy
# /etc/caddy/Caddyfile 只需两行:
# yourdomain.com {
# reverse_proxy localhost:8000
# }
systemctl reload caddy
- 用 systemd 守护进程:写一个
myagent.service,让服务挂了自动拉起,比nohup靠谱得多。
五、常见坑与排查思路
- SSH 连不上:九成是安全组/防火墙没放行 22 端口,或 IP 被误填;
- 服务本地通、外网不通:先
curl localhost:8000确认服务活着,再检查云防火墙规则,最后看应用是否绑定在0.0.0.0而非127.0.0.1; - 大模型调用超时:服务器出口网络一般没问题,优先检查 API Key 配额与代码里的超时设置。
六、小结
把一个 AI Agent 应用从本地搬到华为云轻量服务器,整个过程不到一小时:买实例 → 初始化环境 → 部署服务 → 放行端口 → 配 HTTPS。云服务器的意义不只是"算力",更是给个人开发者一个真实、公开、可持续运行的环境——你的第一个 Agent 产品,值得有一个正式的"门牌号"。
接下来可以继续进阶:接入 CodeArts 做流水线部署、用 OBS 存储用户上传的附件、给 Agent 加上华为云 Skills 工具箱让它在云端自我运维。这些能力在华为云开发者成长中心都有对应的免费实验,推荐边做任务边练手。
本文基于个人实践整理,欢迎交流。
- 点赞
- 收藏
- 关注作者
评论(0)