9 Commits

Author SHA1 Message Date
xxx
cdecc60ac4 update 2023-08-06 09:38:40 +08:00
xxx
554ffd1e40 update 2023-08-04 11:43:44 +08:00
xxx
a0d358f0ba v1.2.1 && arm支持 2023-08-04 11:24:31 +08:00
none
a1dfcfa517 update 2023-07-31 14:56:24 +08:00
none
249e840264 v1.1 2023-07-05 09:17:23 +08:00
none
4cb82ec769 v1.1 2023-07-04 20:06:18 +08:00
none
86ab75a63d update 2023-06-14 17:37:11 +08:00
none
f4a24bc4ca update 2023-06-13 14:18:05 +08:00
none
ccfcc3f5a1 update 2023-06-13 14:16:39 +08:00
4 changed files with 75 additions and 24 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
frontend/
backend/
h5/

View File

@@ -1,21 +1,21 @@
FROM eclipse-temurin:17-alpine
FROM eclipse-temurin:17
LABEL maintainer="0xtyz <tengyongzhi@meedu.vip>"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
#使用东八区时间环境
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安装基本组件
RUN apk update && apk add nginx
#安装基本组件
RUN apt update && apt install -y nginx
RUN mkdir /app
# Copy代码
#Copy代码
COPY frontend /app/frontend
COPY backend /app/backend
COPY h5 /app/h5
COPY api /app/api
COPY conf/nginx.conf /etc/nginx/http.d/default.conf
COPY conf/nginx.conf /etc/nginx/sites-enabled/default
RUN chmod +x /app/api/start.sh

View File

@@ -1,13 +1,15 @@
### PlayEdu Light Docker 构建方案
## PlayEdu Light Docker 构建方案
本套方案将 API + PC 前台 + 后台管理 个整合在一个镜像当中,适用于轻量级客户。
本套方案将 API + PC 前台 + H5 前台 + 后台管理 个整合在一个镜像当中,适用于轻量级客户。
### 使用官方镜像
在命令行中执行:
> 本项目提供 `linux/amd64` 的 platform 运行。如果您是 `linux/arm64` 的话请将 `playedu/light` 修改为 `playedu/light-arm64` 。
```
docker run -d -p 9800:9800 -p 9900:9900 --name playedu-light \
docker run -d -p 9700:80 -p 9800:9800 -p 9801:9801 -p 9900:9900 --name playedu-light \
-e DB_HOST=数据库host \
-e DB_PORT=数据库端口 \
-e DB_NAME=数据库名 \
@@ -16,17 +18,19 @@ docker run -d -p 9800:9800 -p 9900:9900 --name playedu-light \
-e REDIS_HOST=Redis的host \
-e REDIS_PORT=Redis的端口 \
-e REDIS_PASS=redis的密码 \
registry.cn-hangzhou.aliyuncs.com/playedu/light:1.0-beta.6
-e SA_TOKEN_JWT_SECRET_KEY=随机英文+数字的字符串 \
registry.cn-hangzhou.aliyuncs.com/playedu/light:1.2.2
```
跑起来之后,可以通过下面的链接访问前后台:
| 端口 | 地址 |
| -------- | -------------------------- |
| 学员界面 | `http://你的服务器IP:9800` |
| ------------ | -------------------------- |
| API 服务 | `http://你的服务器IP:9700` |
| 学员 PC 界面 | `http://你的服务器IP:9800` |
| 学员 H5 界面 | `http://你的服务器IP:9801` |
| 后台管理 | `http://你的服务器IP:9900` |
### 自己动手
- API 程序 `package` 之后,将 `jar` 包复制到 `api` 目录下,并重新命名为 `app.jar`
@@ -36,13 +40,15 @@ docker run -d -p 9800:9800 -p 9900:9900 --name playedu-light \
之后,在本项目目录命令执行:
```
docker build -t playedu-light .
docker build --platform linux/amd64 -t playedu-light .
```
> 如果是编译 arm 平台运行镜像的话,请将上述命令的 `linux/amd64` 更换为 `linux/arm64` 。
执行完毕之后,可运行下面命令将 PlayEdu 服务跑起来:
```
docker run -d -p 9800:9800 -p 9900:9900 --name playedu-local \
docker run -d -p 9700:80 -p 9800:9800 -p 9801:9801 -p 9900:9900 --name playedu-local \
-e DB_HOST=数据库host \
-e DB_PORT=数据库端口 \
-e DB_NAME=数据库名 \
@@ -58,6 +64,8 @@ docker run -d -p 9800:9800 -p 9900:9900 --name playedu-local \
跑起来之后,可以通过下面的链接访问前后台:
| 端口 | 地址 |
| -------- | -------------------------- |
| 学员界面 | `http://你的服务器IP:9800` |
| ------------ | -------------------------- |
| API 服务 | `http://你的服务器IP:9700` |
| 学员 PC 界面 | `http://你的服务器IP:9800` |
| 学员 H5 界面 | `http://你的服务器IP:9801` |
| 后台管理 | `http://你的服务器IP:9900` |

View File

@@ -40,6 +40,48 @@ server {
}
}
server {
# 监听端口号9801
listen 9801 default_server;
# 禁用绝对重定向
# 如果没有设置该配置项当Nginx重定向时它将使用绝对路径这意味着当用户访问一个虚拟主机时
# Nginx可能会将他们重定向到另一个主机的URL这可能会导致安全问题和用户体验问题。因此通过
# 设置 absolute_redirect off Nginx将使用相对路径进行重定向以确保用户在同一主机上进
# 行重定向,而不会遇到上述问题。
absolute_redirect off;
# 匹配任何主机名
server_name _;
# 指定Web应用程序的根目录
root /app/h5;
# 指定默认的索引文件为index.html
index index.html;
# 启用gzip压缩
gzip on;
gzip_static on;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 5;
gzip_types text/plain application/javascript text/css application/xml text/javascript;
gzip_vary on;
# 将所有以/api/开头的请求代理到本地地址为127.0.0.1:9898的Web应用程序后端服务器
location /api/ {
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:9898/;
}
# 拒绝所有以.ht开头的请求
location ~ /\.ht {
deny all;
}
# 处理所有不以/api/开头的请求尝试查找匹配的文件如果没有找到则返回index.html
location ~* ^/(?![api].*) {
try_files $uri /index.html;
}
}
server {
# 监听端口号9900
listen 9900 default_server;