本文档记录了在 Windows 服务器上部署 FinSciAI 前端以支持局域网访问的完整流程,包括环境准备、构建发布、网络放行、服务常驻及账号准备。
1. 环境准备
1.1 确认服务器网络
- 登录目标 Windows 服务器。
Win + R输入cmd,回车。- 执行
ipconfig,记录 IPv4、子网掩码、默认网关。本文假设服务器地址为10.200.11.2。
1.2 安装 Node.js
- 访问 https://nodejs.org/ 下载 LTS 版安装包。
- 按默认选项完成安装。
- 新开终端执行
node -v、npm -v验证安装。

1.3 准备前端代码
- 将 FinSciAI 前端复制到服务器,例如
C:\Users\Administrator\Desktop\fin-sci-project\frontend。 package.json的scripts段需包含:1
"start:prod": "next start -H 0.0.0.0 -p 3000"

next.config.ts需包含:1
2
3
4
5
6const nextConfig: NextConfig = {
reactStrictMode: true,
eslint: { ignoreDuringBuilds: true },
typescript: { ignoreBuildErrors: true },
}
export default nextConfig

1.4 配置环境变量
在前端根目录创建 .env.production:
1 | NEXT_PUBLIC_API_BASE_URL=http://10.200.11.2:8000 |
确保后端 API 在该地址可用且允许跨域。
2. 构建与验收
2.1 安装依赖
在 frontend 目录执行:
1 | pnpm install |
2.2 构建生产包
1 | pnpm run build |
2.3 本地启动验证
1 | pnpm run start:prod |
浏览器访问 http://127.0.0.1:3000/ 与 http://10.200.11.2:3000/,确认页面正常。随后可 Ctrl+C 停止。
3. 内网资源优化
- 在
_app.tsx引入@fontsource/inter的本地字体,移除外网字体引用。 - 在
_document.tsx删除fonts.googleapis.com的<link>。 - 调整后重新执行
pnpm run build验证。
4. Windows 防火墙放行
4.1 图形界面
- 控制面板 → 系统和安全 → Windows Defender 防火墙。
- 高级设置 → 入站规则 → 新建规则。
- 选择“端口”,协议 TCP,特定本地端口
3000。 - 选择“允许连接”,适用配置勾选“域/专用”,名称可填
FinSciAI-Frontend-3000。
4.2 命令行
1 | New-NetFirewallRule -DisplayName "FinSciAI-Frontend-3000" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow |
5. 后端跨域配置
编辑 backend/app/main.py,在 CORSMiddleware 的 allow_origins 中加入:
1 | "http://10.200.11.2:3000", |
重启 FastAPI 服务后即可允许局域网前端访问。
6. NSSM 常驻前端服务
6.1 下载并设置 NSSM
- 从 https://nssm.cc/download 下载
nssm-2.24-101-g897c7ad。 - 保留
win64\nssm.exe,移动到C:\tools\nssm\win64。 - 将该路径加入系统
PATH:新开终端即可直接使用1
[Environment]::SetEnvironmentVariable('Path', $env:Path + ';C:\tools\nssm\win64', 'Machine')
nssm。

6.2 编写启动脚本
在前端目录创建 start-frontend.bat:
1 | @echo off |
6.3 注册服务
- 管理员 PowerShell 执行
nssm install FinSciAI-Frontend。 - 填写:
- Application:
C:\Windows\System32\cmd.exe - Arguments:
/c "C:\Users\Administrator\Desktop\fin-sci-project\frontend\start-frontend.bat" - Startup directory:
C:\Users\Administrator\Desktop\fin-sci-project\frontend
- Application:
- 在 “Log on” 选择
This account,输入.\\Administrator和密码。 - 可在 “I/O” 中指定日志文件(如
logs\frontend.log)。
6.4 启动与验证
1 | nssm start FinSciAI-Frontend |
显示 SERVICE_RUNNING 即成功。访问 http://10.200.11.2:3000/ 验证服务正常。
如端口被占用,可
nssm stop FinSciAI-Frontend,使用netstat -ano | findstr :3000查 PID,并taskkill /PID <pid> /F清理。
7. 批量创建账号
在 backend 目录使用虚拟环境执行以下脚本(可粘贴至 PowerShell):
1 | venv\Scripts\python.exe - <<'PY' |
账号示例:stu01 ~ stu20,密码统一为 123456,邮箱 stuXX@example.com。JWT 认证允许多终端并发。
8. 验收与运维建议
- 分发账号清单,局域网终端访问
http://10.200.11.2:3000/登录测试。 - 更新代码时:
nssm stop→pnpm run build→nssm start。 - 可通过
nssm status FinSciAI-Frontend或sc query FinSciAI-Frontend查看服务状态。 - 建议为后端也配置 NSSM 或其他服务管理器;定期备份
.env.production与数据库。
完成以上步骤,即可在局域网内稳定提供 FinSciAI 前端访问,并同时支持 20 名用户并发使用。
-------------本文结束感谢您的阅读-------------
本文链接: http://example.com/2025/11/13/FinSciAI-局域网部署指南(Windows-Server)/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!