文档大纲

飞牛NAS搭建学习平台详细流程(WordPress + LearnPress方案)

【前置准备:细节决定成败】

一、硬件要求

  • 已安装飞牛OS的设备(旧笔记本/零刻ME mini/飞牛专用NAS均可)
  • 内存 ≥ 2GB(建议4GB以上,确保5人并发无卡顿)
  • 剩余存储 ≥ 10GB(课程资源需额外预留空间,大视频建议搭配外接硬盘)

二、网络配置(关键!避免后续访问异常)

  1. 打开电脑浏览器,访问飞牛OS管理后台:http://NAS局域网IP:5000(默认端口5000,若已修改请用自定义端口)
  2. 进入【网络】→【网络设置】→【静态IP】选项卡
  3. 配置如下(示例,需根据自家路由器网段修改):
    1. IP地址:192.168.1.100(固定IP,避免NAS重启后IP变化)
    2. 子网掩码:255.255.255.0(默认,无需修改)
    3. 网关:192.168.1.1(即路由器IP,可在路由器后台查看)
  4. 点击【保存】,重启网络生效
  5. 验证:确保电脑与NAS在同一局域网,通过电脑ping NAS IP验证连通性。

三、存储规划(含权限预设,彻底规避权限问题)

  • 登录飞牛OS管理后台,进入【文件管理】→【新建团队文件夹】→【创建】
  • 基础设置:
    1. 文件夹名称:study_platform(必须英文,避免中文乱码导致容器无法识别)
    2. 描述:学习平台专用存储(课程视频/课件/数据库/网站文件)
    3. 存储位置:选择剩余空间充足的磁盘,点击【下一步】
  • 权限设置:
    • 所有者:选择root(确保最高权限,避免Docker容器无法读写)
    • 权限分配:
      • 所有者:勾选「读/写/执行」
      • 组用户:勾选「读/执行」
      • 其他用户:勾选「读/执行」
    • 高级设置:
      • 取消勾选「只读」(否则无法上传课件、写入数据)
      • 勾选「允许Docker容器访问」(❗️关键,否则Docker无法映射该文件夹)
  • 点击【完成】,创建共享文件夹
  • 记录该文件夹的实际路径(飞牛OS默认路径为:/mnt/study_platform,可在共享文件夹详情中查看确认)
  • 手动创建子文件夹:进入study_platform文件夹,创建3个空文件夹(提前规划,避免后续混乱)
    • mysql_data:用于存储MySQL数据库数据(持久化,防止容器删除后数据丢失)
    • wp_content:用于存储WordPress主题、插件、上传文件(持久化)
    • courses:用于存储课程资源(小视频、PDF、PPT等)

四、工具准备

  • 电脑浏览器:推荐Chrome/Edge(兼容性更好,避免操作异常)
  • 记事本:专门记录所有密码(MySQL密码、WordPress管理员密码等,避免遗忘)
  • 飞牛OS管理员账号:需拥有最高权限(用于操作Docker、共享文件夹、防火墙等)

【搭建步骤:全程图形化操作,新手可跟做】

步骤1:启用Docker并创建专用网络

1. 登录飞牛OS管理后台,进入【应用中心】,搜索框输入「Docker」,找到对应应用后点击【安装】(安装过程约1-2分钟,取决于网络速度)

2. 安装完成后,在【应用中心→已安装】中找到Docker,点击进入管理界面

3. 左侧菜单点击【网络】,右上角点击【创建网络】

4. 配置如下(无需修改默认项,简化操作):

  • 名称:study_net(自定义,建议英文,便于后续识别容器所属网络)
  • 驱动:默认bridge(容器间通过此网络互通,避免与NAS其他网络冲突)
  • 点击【保存】,创建专用网络
  • 验证:在【网络列表】中找到study_net,状态显示「正常」,即创建成功

步骤2:部署MySQL数据库容器(稳定核心)

1. 进入Docker管理界面,点击左侧【镜像仓库】,右上角点击【搜索镜像】

2. 搜索框输入「mysql:8.0」(指定8.0版本,避免最新版兼容性问题),点击【搜索】

3. 在搜索结果中,找到标签为「8.0」的mysql镜像,点击【拉取】(等待拉取完成,镜像状态变为「已下载」)

4. 拉取完成后,点击左侧【容器】,右上角点击【创建容器】

5. 基础设置:

  • 镜像:选择已下载的「mysql:8.0」
  • 容器名:study_db(自定义,与用途相关,便于后续管理)
  • 勾选「容器退出时自动重启」(避免NAS重启后,数据库容器无法自动启动)

6. 网络设置:选择「已存在的网络」,下拉选择「study_net」(确保与后续WordPress容器在同一网络)

7. 环境变量(逐条添加,严格区分大小写,避免连接失败):

  • MYSQL_ROOT_PASSWORD = Study@2026(自定义强密码,记录到记事本,密码不可含特殊符号,避免飞牛OS识别异常)
  • MYSQL_DATABASE = wordpress(固定值,用于WordPress连接数据库)
  • MYSQL_USER = wpuser(自定义数据库用户,无需root权限,更安全)
  • MYSQL_PASSWORD = wppass@123(该用户的密码,与root密码区分开,记录到记事本,密码不可含特殊符号,避免飞牛OS识别异常)
  • MYSQL_CHARSET = utf8mb4(解决中文乱码问题,必加)
  • MYSQL_COLLATION = utf8mb4_unicode_ci(配合字符集,确保中文显示正常)

8. 卷映射(核心持久化,路径必须与前置准备一致):
点击【添加卷映射】,配置如下:

  • 主机路径:/vol1/@team/study_platform/mysql_data(飞牛OS中的实际路径)
  • 容器路径:/var/lib/mysql(固定值,MySQL默认数据存储路径)
  • 权限:勾选「读写」(确保MySQL能正常写入/读取数据)

9. 高级设置(安全+性能优化):

  • CPU限制:勾选「限制CPU使用率」,设置为50%(避免数据库占用过多CPU,影响NAS其他功能)
  • 内存限制:勾选「限制内存使用」,设置为512MB(根据NAS内存调整,最小不低于256MB)
  • 取消勾选「特权模式」(安全加固,避免容器拥有过高权限)

10.点击【创建】,容器开始启动,等待1-2分钟(首次启动较慢)

11.验证启动成功:

  • 进入【容器列表】,找到study_db,状态显示「运行中」
  • 点击容器操作栏的【日志】,搜索「ready for connections」,出现该内容即表示启动成功,可正常使用

步骤3:部署WordPress容器(前端展示核心)

1. 进入Docker管理界面→【镜像】→【搜索镜像】,输入「wordpress:latest」,点击【搜索】并【拉取】(等待拉取完成,状态为「已下载」)

2. 点击【容器】→【创建容器】,配置如下(重点:与MySQL容器联动)

3. 基础设置:

  • 镜像:选择已下载的「wordpress:latest」
  • 容器名:study_wp(自定义,与数据库容器区分开)
  • 勾选「开机自动开启」(与MySQL保持一致,确保平台稳定)
  • CPU限制:50%左右(与MySQL一致,平衡资源占用)
  • 内存限制:大于1024MB(WordPress需更多内存,最小不低于512MB)

4. 网络设置:选择「已存在的网络」→「study_net」(与study_db在同一网络,确保能正常连接数据库)

5. 环境变量(严格匹配MySQL容器配置,否则无法连接数据库):

  • WORDPRESS_DB_HOST = study_db:3306(固定值,study_db是MySQL容器名,3306是MySQL默认端口)
  • WORDPRESS_DB_NAME = wordpress(与MySQL的MYSQL_DATABASE一致)
  • WORDPRESS_DB_USER = wpuser(与MySQL的MYSQL_USER一致)
  • WORDPRESS_DB_PASSWORD = wppass@123(与MySQL的MYSQL_PASSWORD一致)
  • WP_CACHE = true(启用缓存,旧设备必加,提升访问速度)
  • DISABLE_WP_CRON = true(禁用低效定时任务,减少资源占用)

6. 卷映射(添加两条,分别对应网站文件和课程资源):

  • 第一条(WordPress官方镜像的「核心根目录」)
    • 主机路径:/vol1/@team/study_platform/wp_root
    • 容器路径:/var/www/html(固定值)
    • 权限:勾选「读写」
  • 第二条(WordPress核心文件持久化):
    • 主机路径:/vol1/@team/study_platform/wp_content
    • 容器路径:/var/www/html/wp-content(固定值)
    • 权限:勾选「读写」
  • 第三条(课程资源直连NAS):
    • 主机路径:/vol1/@team/study_platform/courses
    • 容器路径: (自定义,需记住该路径)
    • 权限:勾选「读写」(确保讲师能上传课件、学员能读取课件)

7. 端口映射(避免端口冲突):

  • 主机端口:8080(自定义,避免与飞牛OS默认端口5000、80冲突,被占用可改8081)
  • 容器端口:80(固定值,WordPress默认端口)

8. 高级设置(适配NAS性能,安全加固):

  • 取消勾选「特权模式」

9. 点击【创建】,等待1-2分钟,容器启动

10.验证启动成功:

  • 容器列表中study_wp状态为「运行中」,日志无报错
  • 打开浏览器,访问http://192.168.1.100:8080(替换为你的NAS IP和主机端口),出现WordPress安装界面即成功

步骤3.5:性能优化(旧设备必做!5人并发无卡顿)

  1. 完成WordPress初始化(见步骤4)后,登录WordPress后台(登录地址:http://NAS_IP:8080/wp-admin)
  2. 安装缓存插件:【插件】→【安装插件】,搜索「WP Super Cache」,点击【现在安装】→【启用】
  3. 缓存插件设置:
    1. 点击左侧【设置】→【WP Super Cache】,选择「专家模式」
    2. 勾选「压缩页面」(减少数据传输量,提升访问速度),点击【保存设置并启用缓存】
    3. 点击「预加载」选项卡,勾选「启用预加载」,设置预加载间隔为12小时,点击【保存设置】
    4. 说明:系统将在凌晨自动生成页面缓存,学员访问时直接调用缓存,大幅降低NAS负载
  4. 资源分级策略(解决大文件卡顿问题):
    1. 小课件(PDF/PPT/Word/<500MB视频):直接上传至courses文件夹,学员可在线查看/播放
    2. 大视频(>500MB):存储至外接硬盘,通过WordPress生成临时下载链接,学员可下载后离线学习,避免在线卡顿

步骤4:初始化WordPress并安装LearnPress(学习管理核心)

1. 浏览器访问http://NAS_IP:8080,进入WordPress初始化向导:

  • 选择语言:简体中文
  • 站点信息设置:
    • 站点标题:我的学习空间(自定义,如「家庭学习平台」「团队培训空间」)
    • 用户名:study_admin(避免使用admin,提升安全性)
    • 密码:设置强密码(如Admin@2026,记录到记事本,与MySQL密码区分开)
    • 电子邮箱:填写自己的常用邮箱(用于找回密码、接收站点通知)
    • 取消勾选「对搜索引擎可见」(仅内网使用,无需被搜索引擎收录)
  • 点击【安装WordPress】,等待1分钟,安装完成后点击【登录】,进入WordPress后台

2. 安装LearnPress插件(学习管理核心插件):

  • 后台左侧点击【插件】→【安装插件】,搜索框输入「LearnPress」
  • 找到作者为「ThimPress」的官方插件(认准正版,避免第三方插件有漏洞),点击【现在安装】→【启用】

3. LearnPress初始化配置:

  • 启用成功后,后台左侧会新增【LearnPress】菜单,点击【设置向导】
  • 按提示逐步完成配置:
    • 步骤1:选择语言(简体中文),点击【下一步】
    • 步骤2:课程设置(默认即可,后续可在【设置】中修改),点击【下一步】
    • 步骤3:支付设置(若仅内网免费使用,选择「禁用支付」),点击【下一步】
    • 步骤4:主题选择(默认主题即可,后续可更换教育类主题),点击【完成】

4. 关键配置:对接NAS课程资源文件夹(确保课件持久化存储)

  • 后台左侧点击【设置】→【媒体】
  • 找到「上传文件的存储路径」,输入「courses」(与WordPress容器卷映射的courses目录一致)
  • 找到「完整URL路径」,输入「http://192.168.1.100:8080/courses」(替换为你的NAS IP和端口)
  • 点击【保存更改】,此时上传的课件会直接存储到NAS的/mnt/study_platform/courses文件夹

5. 创建测试课程,验证功能正常:

  • 点击【LearnPress】→【课程】→【添加新课程】
  • 输入课程标题(如「NAS入门指南」),简单编辑课程简介,点击【发布】
  • 发布后,点击【添加章节】,输入章节标题(如「第一章:NAS基础认知」),点击【添加】
  • 点击章节右侧【添加课程内容】,选择「文件」,上传一个本地PDF文件(用于测试)
  • 上传完成后,检查NAS的/mnt/study_platform/courses文件夹,确认该PDF文件已存在(验证持久化成功)

步骤4.5:移动端专项优化(90%学员用手机学习!必做)

  1. 安装响应式适配插件(解决手机布局错乱问题):
    1. 【插件】→【安装插件】,搜索「WPtouch」,点击【现在安装】→【启用】
    2. 点击左侧【WPtouch】→【设置】,启用「仅移动端生效」「视频播放器优化」,点击【保存】
  2. 课件移动端友好优化:
    1. 安装插件「PDF Embedder」,启用后勾选「为移动设备优化PDF显示」,确保手机能正常预览PDF课件
    2. 安装插件「LearnPress Offline Content」,支持学员将文字类课程内容离线下载,减少手机流量消耗
  3. 验证优化效果:
    1. 用手机浏览器访问学习平台(http://NAS_IP:8080)
    2. 检查课程列表、章节展示、课件打开是否流畅,布局是否整齐,无错乱、卡顿现象

步骤5:用户与权限体系(防乱改/防越权,三层防护)

一、角色权限精细化配置

  1. 登录WordPress后台,点击【用户】→【角色】(启用LearnPress后自动显示该菜单)
  2. 系统默认已存在3类角色,无需新建,仅需调整权限(避免权限过高/过低):
    1. ① 超级管理员(Administrator):默认拥有全部权限,无需修改(仅用于平台管理,不用于日常传课/学习)
    2. ② 讲师(Instructor):点击【编辑】,配置如下:
      • 必选权限:创建/编辑自己的课程、添加/编辑章节/课件、创建/编辑测验、查看自己的课程学员、查看自己的课程学习数据、上传文件
      • 禁止权限:管理插件、管理主题、管理用户、修改系统设置、删除其他讲师的课程
    3. ③ 学员(Student):点击【编辑】,配置如下:
      • 必选权限:查看已报名/免费课程、学习课程、提交测验、查看自己的学习进度、查看自己的学习记录
      • 禁止权限:上传文件、创建/编辑课程、管理学员、修改系统设置
  3. 点击【保存更改】,角色权限配置完成

二、添加用户(禁止开放注册,避免陌生人访问)

  1. 点击【用户】→【添加新用户】,分别添加讲师和学员用户(示例如下)
  2. 添加讲师用户:
    1. 用户名:teacher_zhang(自定义,便于识别)
    2. 电子邮箱:[email protected](填写讲师的实际邮箱)
    3. 密码:设置强密码(如Teacher@2026,记录到记事本并告知讲师)
    4. 角色:下拉选择「讲师(Instructor)」
    5. 勾选「发送密码重置链接到新用户的电子邮件」(便于讲师自行修改密码)
    6. 点击【添加新用户】,讲师用户创建完成
  3. 添加学员用户:
    1. 用户名:student_li(自定义)
    2. 电子邮箱:[email protected](填写学员的实际邮箱)
    3. 密码:设置强密码(如Student@2026,告知学员)
    4. 角色:下拉选择「学员(Student)」
    5. 点击【添加新用户】,学员用户创建完成
  4. 批量添加用户(可选,适合多学员场景):
    1. 安装插件「Import Users from CSV」,启用后点击【用户】→【导入用户】
    2. 下载CSV模板,按模板填写用户名、邮箱、角色、密码等信息(密码需设为强密码,避免统一密码)
    3. 上传CSV文件,点击【导入】,即可批量创建用户

三、关闭公开注册+课程权限设置

  1. 关闭公开注册(核心安全设置):
    1. 点击【设置】→【常规】,找到「会员注册」
    2. 取消勾选「任何人都可以注册」,点击【保存更改】(仅管理员可手动添加用户)
  2. 课程权限设置(控制课程可见性):
    1. 单个课程权限:编辑课程时,找到「课程设置」→「可见性」,按需选择:
      • 公开:所有学员均可查看、学习
      • 密码保护:设置密码,学员需输入密码才能访问(适合专属/付费课程)
      • 私有:仅管理员、讲师可查看,学员无法访问
    2. 批量课程权限:点击【LearnPress】→【课程】,勾选多个课程,点击【批量操作】→【编辑】,设置「可见性」后点击【更新】

四、飞牛OS层面权限补充(双重保障)

  1. 登录飞牛OS管理后台,进入【存储】→【共享文件夹】,找到study_platform
  2. 点击【编辑】→【权限设置】,确认所有者为root,权限为「读/写/执行」(所有者)
  3. 进入【用户管理】,确保除管理员外,其他NAS用户无study_platform文件夹的访问权限,避免数据泄露

步骤6:安全加固与备份策略(防止数据丢失、平台被攻击)

一、安全加固(多重防护)

  1. 飞牛OS防火墙设置(关键,限制访问来源):
    1. 登录飞牛OS管理后台→【网络】→【防火墙】→【添加规则】
    2. 规则1:允许家庭局域网IP段(如192.168.1.1-192.168.1.255)访问TCP 8080端口(仅内网使用)
    3. 规则2:拒绝所有外部IP访问TCP 8080端口(若无需远程访问,必设;若需远程访问,后续配置远程规则)
    4. 点击【保存】,规则立即生效
  2. WordPress安全优化:
    1. 安装插件「Wordfence Security」,按向导启用基础防护(防火墙、恶意软件扫描,防止SQL注入、暴力攻击)
    2. 安装插件「Simple HTTP Auth」(后续配置远程访问时,添加二级密码,双重防护)
    3. 定期更新:点击【仪表盘】→【更新】,及时更新WordPress核心版本、LearnPress插件、主题(修复安全漏洞)

二、备份任务(飞牛OS层面,自动备份)

  1. 登录飞牛OS管理后台→【备份】→【备份任务】→【创建任务】
  2. 配置如下:
    1. 任务名称:学习平台每日备份
    2. 备份内容:勾选「共享文件夹」→「study_platform」(包含所有课程、数据库、网站文件)
    3. 备份频率:每日02:00(凌晨低峰期,不影响使用)
    4. 备份存储位置:选择NAS中其他磁盘(非study_platform所在磁盘,避免磁盘损坏导致备份与原数据同时丢失)
  3. 点击【保存】,系统将自动每日执行备份任务

步骤6.5:备份有效性验证(每月必做!避免备份失效)

备份后需定期验证,确保灾难恢复时能正常使用,每月1日执行以下恢复演练:

  1. 从备份中恢复study_platform文件夹到新位置:/mnt/backup_restore(飞牛OS中手动创建该文件夹)
  2. 进入Docker管理界面,创建临时测试容器(验证备份有效性,不影响正式平台):
    1. 创建test_db容器(MySQL测试容器):
      • 镜像:mysql:8.0,容器名:test_db,网络:study_net
      • 卷映射:主机路径/mnt/backup_restore/mysql_data → 容器路径/var/lib/mysql
      • 环境变量:MYSQL_ROOT_PASSWORD=Temp123(临时密码,无需记录)
    2. 创建test_wp容器(WordPress测试容器):
      • 镜像:wordpress:latest,容器名:test_wp,网络:study_net
      • 卷映射:主机路径/mnt/backup_restore/wp_content → 容器路径/var/www/html/wp-content;主机路径/mnt/backup_restore/courses → 容器路径/var/www/html/courses
      • 环境变量:与正式study_wp一致,端口映射:主机9090→容器80(避免与正式端口冲突)
  3. 验证备份有效性:
    1. 浏览器访问http://NAS_IP:9090,查看测试平台是否正常打开
    2. 验证内容:课程是否存在、课件能否下载、学员账号能否正常登录、学习进度是否完整
  4. 验证完成后,删除test_db、test_wp容器,删除/mnt/backup_restore文件夹(避免占用存储空间)

步骤7:远程访问方案(三选一,按需配置,0成本可选)

仅当需要在外部网络(如公司、外出)访问学习平台时,才需配置,优先推荐方案A(0成本、新手友好)。

方案A:0成本内网穿透(推荐新手,无需额外硬件)

  1. 登录飞牛OS管理后台→【应用中心】,搜索「花生壳内网版」,点击【安装】
  2. 安装完成后,打开花生壳应用,注册并登录贝锐账号(免费注册,无需付费)
  3. 创建端口映射:
    1. 内网主机:192.168.1.100(你的NAS静态IP)
    2. 内网端口:8080(WordPress容器的主机端口)
    3. 外网端口:系统自动分配(如12345,无需手动设置)
  4. 获取访问地址:花生壳会生成专属访问地址(如http://你的域名.v4.xiaomiqiu.cn:12345),记录该地址
  5. 安全加固:
    1. 启用WordPress的「Simple HTTP Auth」插件,设置站点访问密码(远程访问时需输入密码,双重防护)
    2. 飞牛OS防火墙:删除原有「拒绝所有外部IP」规则,新增规则「仅允许花生壳服务器IP访问8080端口」(花生壳官网可查询IP白名单)

方案B:家庭宽带复用(有公网IP用户,免费稳定)

  1. 联系宽带运营商(电信10000/联通10010),申请公网IP(免费,部分运营商需人工开通)
  2. 登录路由器后台,找到「虚拟服务器」(或「端口转发」)功能
  3. 配置端口转发:外部端口8081 → 内部IP 192.168.1.100:8080(避免外部8080端口被运营商屏蔽)
  4. 注册免费域名:访问DuckDNS官网,注册账号并绑定你的公网IP(支持动态IP解析,避免IP变化后无法访问)
  5. 远程访问地址:http://你的域名.duckdns.org:8081
  6. HTTPS加密:WordPress安装「Really Simple SSL」插件,自动申请免费SSL证书,实现HTTPS加密访问(更安全)

方案C:云服务器中转(稳定高速,月成本≈5元,适合高频远程访问)

  1. 购买轻量云服务器:腾讯云/阿里云搜索「轻量应用服务器」,选择1核1GB配置(月费约5元)
  2. 在云服务器上部署Nginx反向代理,将外部请求转发至NAS的内网IP(192.168.1.100:8080)
  3. 飞牛OS防火墙设置:仅允许云服务器的公网IP访问8080端口,避免其他外部IP访问
  4. 配置域名:注册域名并解析到云服务器IP,启用HTTPS加密,访问地址:https://你的域名.com(无端口,体验最佳)

步骤8:学习数据分析(让数据驱动教学,挖掘学习价值)

  1. 启用学习行为跟踪:
    1. 登录WordPress后台→【LearnPress】→【设置】,勾选「启用学习行为跟踪」(记录学员学习时长、测验正确率、进度等数据)
    2. 点击【保存更改】,系统开始自动收集学习数据
  2. 部署轻量BI工具(Metabase,可视化数据分析):
    1. 进入Docker管理界面→【镜像】→【搜索镜像】,输入「metabase/metabase:latest」,点击【拉取】
    2. 创建Metabase容器:
      • 容器名:study_bi,网络:study_net(与MySQL容器在同一网络,便于连接数据库)
      • 端口映射:主机9000 → 容器3000(避免与其他端口冲突)
      • 卷映射:主机路径/mnt/study_platform/metabase_data → 容器路径/metabase-data(持久化BI工具数据)
    3. 点击【创建】,启动容器后,浏览器访问http://NAS_IP:9000,按向导完成Metabase初始化
  3. 连接MySQL数据库(获取学习数据):
    1. Metabase初始化完成后,点击【添加数据库】
    2. 配置如下:
      • 数据库类型:MySQL
      • 数据库地址:study_db(MySQL容器名)
      • 数据库名:wordpress
      • 用户名:wpuser,密码:wppass@123(与MySQL容器配置一致)
    3. 点击【测试连接】,连接成功后点击【保存】
  4. 创建核心数据分析看板(可视化展示):
    1. 点击【创建】→【看板】,添加以下核心图表:
      • 课程热度榜:展示各课程的学习人数、总学习课时,了解热门课程
      • 学员能力雷达图:展示各学员在不同章节的测验正确率,定位薄弱环节
      • 学习进度热力图:展示学员活跃时段、整体学习进度分布,优化课程安排
  5. 设置自动报告:
    1. 在看板中点击【设置】→【自动发送】,配置每周一8:00,将学习周报发送至管理员邮箱
    2. 周报内容:包含上周学习数据汇总、学员进度排名、课程优化建议

步骤9:健康监控与自愈(7×24小时可用,无需人工值守)

一、部署监控容器(实时监控平台状态)

  1. 进入Docker管理界面,分别拉取以下两个镜像:
    1. prom/prometheus:latest(数据采集工具)
    2. grafana/grafana:latest(监控面板,可视化展示)
  2. 按Docker向导配置两个容器,关联study_net网络,添加对应的卷映射(持久化监控数据)
  3. 配置监控项:重点监控study_wp、study_db容器的运行状态(CPU、内存占用、是否运行)、课程文件夹读写权限
  4. 浏览器访问http://NAS_IP:3000(Grafana端口),登录后可查看实时监控面板,异常时将自动提醒

二、配置自愈脚本(飞牛OS计划任务,自动修复异常)

  1. 登录飞牛OS管理后台→【系统设置】→【计划任务】→【添加脚本】
  2. 配置如下:
    1. 脚本名称:学习平台自愈脚本
    2. 脚本内容: # 检查WordPress容器状态,若未运行则自动重启 if ! docker inspect -f '{{.State.Running}}' study_wp | grep -q "true"; then docker restart study_wp echo "[自愈] $(date) WordPress容器已重启" >> /var/log/self_heal.log fi # 检查MySQL容器状态,若未运行则自动重启 if ! docker inspect -f '{{.State.Running}}' study_db | grep -q "true"; then docker restart study_db echo "[自愈] $(date) MySQL容器已重启" >> /var/log/self_heal.log fi # 检查课程文件夹写入权限,异常则修复 if ! touch /mnt/study_platform/courses/test_write.tmp 2>/dev/null; then chown -R root:root /mnt/study_platform chmod -R 755 /mnt/study_platform rm -f /mnt/study_platform/courses/test_write.tmp echo "[自愈] $(date) 修复study_platform文件夹权限" >> /var/log/self_heal.log fi
    3. 执行频率:每5分钟(确保异常能及时被修复)
  3. 点击【保存】,计划任务自动生效
  4. 验证自愈功能:手动停止study_wp容器,等待5分钟后,查看容器是否自动重启,日志是否有自愈记录

【关键注意事项与排查指南】

一、常见问题速查(新手必备)

  • 问题1:WordPress无法连接MySQL数据库?
    • 排查:① study_db和study_wp是否在同一网络(study_net);② 环境变量是否完全匹配(尤其是密码、用户名);③ MySQL容器是否正常运行
  • 问题2:无法上传课件,提示「权限不足」?
    • 排查:① study_platform文件夹权限是否为root读写执行;② WordPress容器卷映射是否勾选「读写」;③ 课件文件名是否含中文/特殊符号
  • 问题3:学员看不到课程?
    • 排查:① 学员用户角色是否为「学员(Student)」;② 课程可见性是否设为「公开」或「密码保护」(密码是否正确);③ 飞牛OS防火墙是否放行学员设备IP
  • 问题4:远程访问卡顿/无法访问?
    • 排查:① 远程访问方案配置是否正确;② 大视频是否未按分级策略处理;③ 防火墙是否放行对应IP/端口
  • 问题5:容器启动失败?
    • 排查:① 卷映射路径是否正确(文件夹是否存在);② 环境变量是否填写错误;③ 端口是否冲突;④ 内存/CPU限制是否过低

二、性能调优补充建议

  • 旧设备(如J4125/4GB内存):限制同时学习人数≤5人,课程视频转码为720p MP
阅读量: 527