update docs

This commit is contained in:
Himit_ZH 2021-12-12 12:02:17 +08:00
parent c8679431f1
commit 31380c23c1
4 changed files with 60 additions and 4 deletions

View File

@ -33,7 +33,8 @@ module.exports = {
'deploy/docker',
'deploy/open-https',
'deploy/multi-judgeserver',
'deploy/update'
'deploy/update',
'deploy/how-to-backup'
]
},
{

View File

@ -0,0 +1,55 @@
# 如何备份
### 1. 单体部署
请到`~/hoj-deploy/standAlone`的目录下,即是与`docker-compose.yml`的文件同个目录下,该目录下有个叫`hoj`的文件夹,里面的文件夹介绍如下:
```html
hoj
├── file # 存储了上传的图片、上传的临时题目数据、markdown引用的文件等文件
├── judge # 存储了每个提交题目的评测过程产生的数据
├── log # 存储了hoj-backend项目的运行日志
├── testcase # 存储了题目的评测数据
└── data
├── mysql
│ ├── data # 存储了MySQL数据库的数据
├── redis
│ ├── data # 存储了redis产生的快照数据
```
那么,如果需要备份,只需将该`hoj`文件夹复制一份即可在新的机器上重新部署新的hoj的时候将该文件夹放置与`docker-compose.yml`一个目录下,使用`docker-compose up -d`即可启动恢复原来的数据。
### 2. 分布式部署
- 主服务器运行hoj-backend的服务器
请到`~/hoj-deploy/distributed/main`的目录下,即是与`docker-compose.yml`的文件同个目录下,该目录下有个叫`hoj`的文件夹,里面的文件夹介绍如下:
```html
hoj
├── file # 存储了上传的图片、上传的临时题目数据、markdown引用的文件等文件
├── log # 存储了hoj-backend项目的运行日志
├── testcase # 存储了题目的评测数据
└── data
├── mysql
│ ├── data # 存储了MySQL数据库的数据
├── redis
│ ├── data # 存储了redis产生的快照数据
```
- 判题服务器运行hoj-judgeserver的服务器
请到`~/hoj-deploy/distributed/judgeserver`的目录下,即是与`docker-compose.yml`的文件同个目录下,该目录下有个叫`judge`的文件夹,里面的文件夹介绍如下:
```html
judge
├── run # 存储了每个提交题目的评测过程产生的数据
├── log # 存储了hoj-judgeserver项目的运行日志
├── test_case # 存储了题目的评测数据(每100s从主服务器同步)
├── spj # 存储了SPJ的代码
```
那么,主要要备份的还是**主服务器**的数据,只需将该`hoj`文件夹复制一份即可在新的机器上重新部署新的hoj的时候将该文件夹放置与`docker-compose.yml`一个目录下,使用`docker-compose up -d`即可启动恢复原来的数据。

View File

@ -150,7 +150,7 @@ https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js
store,
i18n,
render: h => h(App)
}).$mount('#app')
}).$mount('#app')
```

View File

@ -665,7 +665,7 @@ export default {
problemID: '',
submitting: false,
code: '',
language: 'C',
language: '',
isRemote: false,
theme: 'solarized',
@ -975,7 +975,6 @@ export default {
if (this.code !== '') {
return;
}
// try to load problem template
if (this.problemData.languages.length != 0) {
if (
!this.language ||
@ -984,6 +983,7 @@ export default {
this.language = this.problemData.languages[0];
}
}
// try to load problem template
let codeTemplate = this.problemData.codeTemplate;
if (codeTemplate && codeTemplate[this.language]) {
this.code = codeTemplate[this.language];