Github 上最好的开源网校零碎
随着「疫情」「双减政策」的包夹紧逼,线下的教培机构迅速地意识到了网校平台搭建的必要性,网课这一模式除了是一种教育趋势,也是一种抵挡经营风险的办法。,那么线上教育平台该如何抉择或搭建?
抉择线上教育平台
1. 入驻第三方平台
如:抖音直播、荔枝微课、视频号
长处:上手门槛低、流传效率高
毛病:性能不足,公域流量池利用率低
2. 租用 SaaS 平台
如:小鹅通等
长处:无需装置保护
毛病:数据托管危险高,年付继续免费高
3. 源码自建公有网校
长处天然不必多说,本人养的孩子心里有底,数据信息也是一手把握,安全性也高。花了一个多月的试错市场上形形色色的开源零碎,有几个抉择源码零碎的必要条件是要留神的:
1. 肯定要有日常保护。用过源码零碎的都晓得,程序员们脑袋一热就开源了,大家一拥而上后,作者再脑袋一凉就不论了,留着使用者原地干瞪眼。
2.Bug 率肯定要低。试了好几套源码零碎,这里就不公开了,连根本的领取模块都走不通,白节约我几天工夫。
3. 文档齐全。一份成熟的产品文档能帮使用者少走很多弯路,不然很可能是盲人摸象,一踩一个坑。
4. 价格不能过于昂扬。有很多源码计划谈下来须要三四十万朝上,价格对于少数的小微企业来说并不敌对。
最终的抉择
通过了十几个源码计划的筛选,部门最终敲定了这款在 Github 上领有 2.7k star 的 Meedu 零碎。简略来说,就是“零碎稳固,性能齐全满足需要,反对多端”,当然最让我惊喜的是反对收费开源应用。
课程零碎、页面装修、学员零碎、领取零碎均可收费应用。对于小型机构或想要学习的小伙伴来说,性能反对上齐全足够了。不过因为有客户须要考试零碎、分销零碎等更多功能的反对,最终上了更多功能的商业版。该零碎均匀两个月公布一次小的更新优化,并给出具体的降级文档,给人的安全感还是很短缺的。
搭建办法步骤
GitHub 我的项目地址:GitHub – Qsnh/meedu: 教培零碎、线上培训、常识付费解决方案。
Meedu 使用手册:前言 · 语雀
以下步骤均援用自 Meedu 使用手册
MeEdu 别离是:API 服务,PC 站界面程序,H5 站界面程序,后盾治理界面程序。
一.API 服务部署
服务器环境
- Linux 零碎(Ubuntu,Centos 都能够)
- Composer
- PHP >= 7.3
- MySql >= 5.6
- Nginx
PHP 扩大
- Zip PHP Extension
- OpenSSL PHP Extension
- PDOMysql PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Fileinfo PHP Extension
PHP 函数解禁
- passthru 函数不能被禁用
- proc_open 函数不能被
- proc_get_status 函数不能被禁用
- symlink 函数不能被禁用
- putenv 函数不能被禁用
开始装置
git clone https://github.com/Qsnh/meedu.git meedu
cd meedu
composer install --no-dev
cp .env.example .env
php artisan key:generate
php artisan jwt:secret
chmod -R 0777 storage
chmod -R 0777 addons
chmod -R 0777 public/addons
php artisan storage:link
配置数据库信息
关上 .env 文件,批改上面的内容:
DB_HOST= 你的数据库 host,默认是:127.0.0.1
DB_PORT= 你的数据库端口,默认是:3306
DB_DATABASE= 你的数据库名
DB_USERNAME= 你的数据库用户名
DB_PASSWORD= 你的数据库用户明码
Nginx 配置
配置伪动态并设置 MeEdu 的运行目录为 public。
伪动态规定(Nginx):
location / {try_files $uri $uri/ /index.php$is_args$query_string;}
数据表和默认数据
装置数据表
php artisan migrate
php artisan install role
php artisan install config
php artisan install administrator
php artisan install:lock
定时工作配置
配置任务调度器:
将上面内容增加到 crontab 打算工作中:
* * * * * php / 你的 meedu 所在目录 /artisan schedule:run >> /dev/null 2>&1
常驻队列过程配置
如果您的 .env 文件中的 QUEUE_DRIVER 的值为 redis 或者 database 的话,那么须要配置常驻队列过程。
配置队列监听器(上面是 Ubuntu 零碎的装置 supervisor 教程):
首先,装置 supervisor :
sudo apt install supervisor
配置 supervisor
cd /etc/supervisor/conf.d
vi meedu.conf
将上面的内容粘贴进去:
[program:meedu]
process_name=%(program_name)s_%(process_num)02d
command=php /you-project-path/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/you-project-path/storage/logs/supervisor.log
留神替换其中的门路和 user。
重启服务:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start meedu:*
如果配置正确,你会看到 supervisor 的输入日志,日志门路就是下面配置的 stdout_logfile 的值。
到这里,API 服务项目装置实现。残缺应用 MeEdu 性能您还须要装置后盾治理我的项目、PC 界面我的项目、H5 界面我的项目。
二. 后盾治理我的项目部署
1. 在命令行执行上面命令:
# clone 代码
git clone git@github.com:Meedu/backend-v2.git meedu-backend
# 进入我的项目目录
cd meedu-backend
# 装置依赖
npm install
# 生成配置文件
cp .env.example .env
2. 关上我的项目下的 .env 文件,将其中的 VUE_APP_URL 改为您的 API 服务的地址。之后,在命令行中执行:
npm run build
执行实现之后,您将能够看到 dist 目录的生成。该目录下就是已编译好的程序文件。
如果您对 Vuejs 我的项目的编译不相熟的话,您能够思考间接应用官网已编译好的程序,下载后批改下 API 服务地址就能够应用了。已编译程序下载地址: MeEdu 后盾界面程序 · 语雀
三.PC 端界面部署
PC 我的项目应用的是 Vuejs 开发。仓库地址:https://github.com/Meedu/pc-v1
以下的步骤须要您具备 Nodejs 运行环境。
1. 克隆代码
git clone git@github.com:Meedu/pc-v1.git meedu-pc
2. 批改配置
# 进入到我的项目中
cd meedu-pc
cp .env.example .env
关上 .env 文件,批改其中的 VUE_APP_URL 的值,将它的值改为您的 meedu api 拜访地址。例如:meedu 演示站的 api 服务地址为 https://api-all.meedu.tech 那么就能够改为这个值。
3. 编译程序
# 装置依赖
npm install
# 编译
npm run build
命令执行实现之后,会在我的项目目录下生成 dist 目录。该目录下就是咱们曾经编译好的程序。
如果您对 Vuejs 我的项目的编译不相熟的话,您能够思考间接应用官网已编译好的程序,下载后批改下 API 服务地址就能够应用了。已编译程序下载地址: MeEdu PC 界面程序 · 语雀
四.H5 端界面部署
H5 我的项目应用的是 Vuejs 开发。仓库地址:https://github.com/Meedu/h5-v1
以下步骤须要您具备 Nodejs 环境。
1. 克隆代码
git clone git@github.com:Meedu/h5-v1.git meedu-h5
2. 批改配置
关上 .env 文件,批改其中的 VUE_APP_URL 的值,将它的值改为您的 meedu api 拜访地址。例如:meedu 演示站的 api 服务地址为 https://api-all.meedu.tech 那么就能够改为这个值。
# 进入到我的项目中
cd meedu-h5
# 创立配置文件
cp .env.example .env
3. 编译程序
# 装置依赖
npm install
# 编译
npm run build
命令执行实现之后,会在我的项目目录下生成 dist 目录。该目录下就是咱们曾经编译好的程序。
如果您对 Vuejs 我的项目的编译不相熟的话,您能够思考间接应用官网已编译好的程序,下载后批改下 API 服务地址就能够应用了。已编译程序下载地址: MeEdu H5 界面程序 · 语雀