Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
本篇教程使用的机器是腾讯云购买的机器,操作系统是 Ubuntu 24.04 。观看此教程建议您准备和我一样的操作系统,这样的话整个安装过程基本不会有其它衍生的问题,如果您不是 Ubuntu 24.04 操作系统的话,那么此教程中的一些步骤可能您根据机器的环境自行解决。
二、准备安装
Section titled “二、准备安装”2.1 Docker
Section titled “2.1 Docker”首先,我们需要在机器上安装好最新版本的 Docker 程序,如果您已经安装有 Docker 程序的话可以跳过本步骤。请进入到机器的命令行,执行下面的命令:
curl -o docker.sh -sSL https://linuxmirrors.cn/docker.shsudo bash docker.sh执行上述命令后进入安装界面,一直回车即可,直到安装完成。安装成功后可以执行:
sudo docker version输出结果:
Client: Docker Engine - Community Version: 28.1.1 API version: 1.49 Go version: go1.23.8 Git commit: 4eba377 Built: Fri Apr 18 09:52:14 2025 OS/Arch: linux/amd64 Context: default
Server: Docker Engine - Community Engine: Version: 28.1.1 API version: 1.49 (minimum version 1.24) Go version: go1.23.8 Git commit: 01f442b Built: Fri Apr 18 09:52:14 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.27 GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da runc: Version: 1.2.5 GitCommit: v1.2.5-0-g59923ef docker-init: Version: 0.19.0 GitCommit: de40ad0成功打印出 Docker 程序的版本。
2.2 Git
Section titled “2.2 Git”执行下面命令:
sudo apt update && sudo apt install -y git执行成功后可以执行下面命令:
git version输出结果:
git version 2.43.0三、安装 MeEdu
Section titled “三、安装 MeEdu”3.1 下载程序
Section titled “3.1 下载程序”在用户主目录(我的服务器登录用户是 ubuntu 用户主目录是 /home/ubuntu 如果您是阿里云的机器的话,那么您的用户应该是 root 用户主目录即为 /root )执行下面命令:
git clone --branch main https://gitee.com/myteng/MeEdu.git meedu
cd meedu3.2 配置文件
Section titled “3.2 配置文件”继续执行下面命令创建配置文件:
cp .env.example .env然后执行下面命令生成安全秘钥(此步骤务必做!!!):
如果下面的命令执行出错,您就再重新执行一次,直到执行成功!!!
sed -i 's/^APP_KEY=.*/APP_KEY=base64:'"$(openssl rand -base64 32)"'/' .envsed -i 's/^JWT_SECRET=.*/JWT_SECRET='"$(openssl rand -base64 48)"'/' .env3.3 拉起程序
Section titled “3.3 拉起程序”然后执行下面命令拉起程序:
sudo docker compose up -d上述命令执行后等待 30 秒左右,等待期间请打开云服务上的服务器IP白名单,开放 8000,8100,8200,8300 四个端口的访问。然后在浏览器输入 http://服务器IP:8300 打开 meedu 程序的后台地址,界面如下:

输入系统默认的管理员账号 meedu@meedu.meedu 和密码 meedu123 可进入管理后台。
3.4 定时任务
Section titled “3.4 定时任务”接下,还需要配置下定时任务程序,请执行下面命令:
sudo crontab -u root -e定位到文件最后一行,并输入下面内容:
* * * * * cd /home/ubuntu/meedu && docker compose exec meedu php artisan schedule:run上述内容中的 /home/ubuntu/meedu 就是本文中 meedu 程序的安装目录!
四、域名访问
Section titled “四、域名访问”走完上面的步骤是不是已经体验到了 MeEdu 的一些功能啦!是不是已经被 MeEdu 精致的 UI 所吸引!MeEdu 的 UI 和交互在开源网校的领域还是有自信的!😄。
但是!有一个点比较麻烦!那么就是必须通过 IP:PORT 的形式访问站点。下面将指导您配置使用域名访问 MeEdu 的服务。
4.1 域名分配
Section titled “4.1 域名分配”MeEdu 有四个服务,也就是说至少需要四个域名。我们注册的域名比如说 meedu.vip 这是一个主域名,在这个主域名下我们可以分配无数个子域名。下面,我将给出我的子域名分配方案供您参考:
| 端口 | 域名 |
|---|---|
| PC | edu.meedu.vip |
| H5 | m.meedu.vip |
| API 服务 | api.meedu.vip |
| 后台管理 | admin.meedu.vip |
域名分配好了之后,我们就要将子域名解析到服务器了(如果您不知道如何将域名解析到服务器IP的话,那么您可以加我的企业微信付费解决😄)。
本文下面教程假设您已经完成了域名的解析!如果您未完成解析的话下文教程会走不通的!
4.2 Nginx
Section titled “4.2 Nginx”执行下面命令安装 Nginx 程序:
sudo apt install -y nginx安装成功后可以执行下面命令查看是否成功:
nginx -v输出版本号即意味着成功:
nginx version: nginx/1.24.0 (Ubuntu)4.3 配置站点
Section titled “4.3 配置站点”执行下面命令:
sudo vi /etc/nginx/sites-enabled/meedu.conf进入 VIM 编辑器,按 I 键进入编辑模式,粘贴修改下面配置文件内容并输入:
server { listen 80; server_name API域名; #此处需修改 client_max_body_size 11M; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8000/; } error_log /var/log/nginx/meedu_api_error.log; access_log /var/log/nginx/meedu_api_access.log;}server { listen 80; server_name PC域名; #此处需修改 location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8100/; }}server { listen 80; server_name H5域名; #此处需修改 location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8200/; }}server { listen 80; server_name Admin域名; #此处需修改 location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8300/; }}然后按 ESC 键退出编辑模式,接着输入 :wq 回车保存文件。然后执行下面命令:
sudo nginx -s reload接着浏览器就可以输入网址 http://admin.meedu.vip 访问站点了。最后一步,别忘记了:

五、HTTPS
Section titled “五、HTTPS”5.1 为什么开启 HTTPS ?
Section titled “5.1 为什么开启 HTTPS ?”开启 HTTPS 不仅能保护用户数据安全,还能提升网站信任度、合规性和用户体验。在数据隐私和网络安全愈发重要的今天,HTTPS 已从 “可选功能” 变为 “必要标准”—— 无论是个人博客、企业网站还是大型平台,HTTPS 都是保障用户权益和业务安全的核心措施。
5.2 准备 SSL 证书
Section titled “5.2 准备 SSL 证书”开启 HTTPS 协议访问需要申请商业机构颁发的 SSL 证书。如果您已经准备有 SSL 证书的可以跳过本步骤。如果您没有准备证书的话,请继续阅读下文。
todo