我本地是mac 电脑,开发时运行langgraph dev没有问题,但是运行langgraph build指令多次失败,是下载docker镜像失败,尝试修改镜像源并没有成功,此路不通就换条路,使用docker构建,服务器上不需要安装langgraph
1.使用官方指令生成Dockerfile和docker-compose.yml
csharp
langgraph dockerfile ./Dockerfile --add-docker-compose
一旦使用生成的 Dockerfile,每当 langgraph.json 发生变更 (如增删依赖、修改图入口),你就必须重新运行 langgraph dockerfile 命令来同步更新 Dockerfile,否则构建出的镜像将与配置不符。
2.构建镜像
erlang
docker build -t xxx:vxx .
3.修改docker-compose.yml 文件
docker-compose.yml 内容主要四大板块,根据实际情况自行修改
- redis相关
- postgresql相关
- docker镜像相关
- 环境变量相关
4.一键启动
docker-compose up -d

5.使用vite新建一个前端对话项目
我这个前端项目比较简单,主要三个文件,index.html main.js vite.config.js,就是对话界面,js逻辑,跨域配置,前端小伙伴都秒懂,大概长这样,都是用AI生成的代码,自己稍微改改

6.接下来的步骤是绑定公网域名,不是必须的,我就是喜欢折腾
把前端项目打包后的dist文件上传到服务器你喜欢的位置,然后修改nginx配置文件 为了安全起见,我的模型接口只允许服务器本地访问,也就是只有我的前端页面能请求我的后端模型接口
ini
server {
listen 80;
server_name xxxxxx.com;
# 429错误定义放到server内部
error_page 429 /@err_429;
location = /@err_429 {
internal;
return 429 '{"error":"请求过于频繁,请稍后再试"}\n';
add_header Content-Type application/json;
}
# 拦截扫描器常见敏感路径
location ~* (master\.key|bootstrap\.properties|private-key|trace\.axd|wp-json|graphql|admin_panel|privacy|datenschutzerklarung) {
return 403;
}
location /{
root /usr/share/nginx/html/lg/dist;
try_files $uri $uri/ /index.html;
}
location /lg/ {
# 注意:这里的目标地址是你服务器本机的 8123 端口
# 因为你之前设置了只监听 127.0.0.1,所以用本机回环地址
proxy_pass http://127.0.0.1:8123/;
# 保持 Host 头(对应 changeOrigin: true)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# --- 关键:LangGraph 是流式输出,必须关掉缓冲 ---
proxy_buffering off;
proxy_cache off;
proxy_set_header X-Accel-Buffering no;
chunked_transfer_encoding on;
}
}
7.在线效果
小伙伴们见谅,域名不便公开,主要是token费用紧张,里面很多细节没有细说,后续还会继续写,感兴趣的小伙伴可以随时讨论
