AI健康管理应用搭建教程:从零部署到数据验证
想自己搭一个能记录体重、步数和饮食的 AI 健康管理应用,不一定非要写代码。
用一台普通云服务器加宝塔面板,部署成熟的开源健康记录项目,零基础也能在半小时内跑通。
下面按实际动手顺序讲清楚每一步做什么、看到什么结果算成功,以及卡住时先查哪里。
先确认服务器和域名条件
这套流程适合有一台 Linux 云服务器、想自建健康数据面板的读者。
你需要准备:
- 一台 1 核 2G 以上的 Linux 服务器,系统建议 Ubuntu 22.04 或 CentOS 7 以上,本文命令以 Ubuntu 为例。
- 一个已解析到服务器公网 IP 的域名,没有域名可以先用 IP 访问测试。
- 服务器安全组放行 80、443 端口,宝塔面板默认的 8888 端口也要放行。
- 一个开源健康记录项目,本文以常见的前后端分离健康记录应用为例,假设项目目录为
/www/wwwroot/health-app。
登录服务器后先更新软件源,避免安装依赖时版本过旧:
apt update && apt upgrade -y
如果服务器在国内,apt update 较慢属于正常现象,可以更换镜像源后再执行,不要反复重试。
安装宝塔面板并准备运行环境
宝塔面板的作用是把 Nginx、数据库、文件管理这些操作变成可视化界面,减少手动改配置文件。
在服务器终端执行官方安装脚本前,先确认系统是干净环境,避免和已有 Web 服务冲突。
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
安装完成后终端会输出面板地址、用户名和密码,先保存下来。
用浏览器打开面板地址,登录后进入软件商店,安装以下组件:
- Nginx 1.22 或更高版本
- MySQL 5.7 或 8.0,按项目要求选择
- Node.js 18,如果项目前端需要构建
- PM2 管理器,用于守护后端进程
安装过程可能持续几分钟,不要同时点多个安装任务,否则容易出现依赖锁冲突。
创建数据库并导入项目
在宝塔面板左侧进入数据库,点击添加数据库,填写数据库名 health_db、用户名 health_user,密码用面板生成的强密码并复制保存。
字符集选择 utf8mb4,避免中文和表情符号写入失败。
把项目压缩包上传到 /www/wwwroot/health-app 并解压,
然后找到项目里的数据库配置文件,
通常是 .env 或 config/database.php,
填入刚才的数据库信息:
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=health_db
DB_USERNAME=health_user
DB_PASSWORD=这里替换为面板生成的密码
保存后在宝塔终端导入项目自带的 SQL 文件,或者执行项目文档里的迁移命令。
导入后进入 phpMyAdmin 或面板数据库管理,确认数据表已经存在,这一步是后面应用能正常登录的前提。
配置反向代理让域名访问应用
假设后端服务监听 3000 端口,前端构建后的静态文件放在 /www/wwwroot/health-app/dist。
先在宝塔网站菜单添加站点,域名填你的域名,根目录指向 dist,PHP 版本选纯静态。
然后打开该站点的设置,进入反向代理,添加代理:
- 代理名称:
api - 目标 URL:
http://127.0.0.1:3000 - 发送域名:
$host
保存后检查 Nginx 配置是否报错。
如果项目要求所有 /api 开头的请求转发到后端,可以在配置文件里确认存在类似片段:
location /api/ {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
改完配置后重载 Nginx,不要直接重启服务器:
nginx -t && nginx -s reload
nginx -t 显示 syntax is ok 和 test is successful 才算配置语法通过。
启动服务后怎么验证真的可用
浏览器打开域名,能看到登录或首页说明反向代理和静态文件都正常。
接着注册一个测试账号,录入一条体重记录,比如 70kg,然后刷新页面看数据是否还在。
数据能持久保存,说明数据库连接和写入都正常。
再检查后端进程是否稳定。
用 PM2 启动并查看状态:
pm2 start app.js --name health-api
pm2 status
如果 pm2 status 里状态是 online,且 pm2 logs health-api 没有连续报错,基本可以认为服务在运行。
把 pm2 startup 和 pm2 save 执行一遍,避免服务器重启后应用没起来。
常见报错先查这三处
页面打不开并返回 502,通常是后端进程没启动或端口不对。
先在服务器上执行 curl http://127.0.0.1:3000,如果本地都不通,去看 pm2 logs,多半是数据库密码错误或端口被占用。
提示数据库连接失败时,回到 .env 核对用户名、密码和数据库名,注意 MySQL 8 默认认证方式可能和旧项目不兼容,必要时在数据库用户设置里调整认证插件,但改之前先备份。
上传图片或中文昵称保存失败,
检查数据库字符集是否为 utf8mb4,
以及 Nginx 的 client_max_body_size 是否太小,
默认 1M 在传头像时经常不够用,
可以在站点配置里调到 10M 后重载 Nginx。
避坑提醒:不要把数据库 3306 端口直接暴露到公网;
修改 Nginx 配置前先在宝塔里备份站点;
删除测试数据前确认不是正式账号。
收尾检查清单
部署完成后按下面几项过一遍:域名能打开首页、注册登录正常、录入一条健康数据后刷新仍在、pm2 status 为 online、nginx -t 通过。
全部满足,这个 AI 健康管理应用就算搭建完成。
后续要加 HTTPS,在宝塔站点设置里申请证书即可,申请前确保域名解析已生效。