MeEdu是一款基于PHP开发,支持开源的线上网校系统。支持录播课 | 直播课 | 考试练习 | 电子书 | 图文 | 站内问答等知识形态。MeEdu采用前后端分离模式,覆盖PC网校 | H5 | 微信小程序 | 独立APP。特点:系统稳定 | 功能丰富 | 界面优美 | 持续迭代。
GitHub项目地址:https://github.com/Qsnh/meedu
MeEdu v4.5 及之后版本将分为四个项目,分别是:API服务,PC站界面程序,H5站界面程序,后台管理界面程序。所以您部署新版本MeEdu的话需要提前准备四个域名分别部署。
一.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界面程序 · 语雀