考虑到服务器环境,提供ubuntu20下前端部署指南。
首先保证你的ubuntu中安装了nodejs(npm会随着nodejs自动一并安装),以及vue/cli,且后者版本在4.0以上:
vue --version
然后使用vue-cli生成一个脚手架:
vue create [项目名]
由于我们需要vue2.x的环境,还要为之后的单元测试做准备,接下来的配置请参考这篇文章: https://blog.csdn.net/qq_39759115/article/details/106421132 根据我踩的坑,在这篇文章的基础上,建议将 Sass/SCSS (with node-sass) 改为 Sass/SCSS (with dart-sass),因为前者容易安装失败。
接下来,用github仓库中的src覆盖掉项目目录中的src,在项目根目录中运行
npm run serve
如果有package未安装,按照npm的提示安装对应的package即可。然后再次启动。
在将项目Clone后,请先确保环境中已安装MySQL。
之后进入backend文件夹,安装Python相关的依赖库pip install -r requirements.txt
。
打开/backend/settings.py
文件,对DATABASES
进行设置。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '', # 你的MySQL中的想用于部署的表名
'USER': 'root', # 你的MySQL用户名
'PASSWORD': '', # 你的MySQL密码
'HOST': '127.0.0.1', # 想使用远程的数据库的话就设置为其ip地址
'POST': '3306', # 你设置的MySQL端口
}
}
之后分别执行python manage.py makemigrations
,python manage.py migrate
生成数据库中的表。
最后python manage.py runserver
即可启动后端。
使用的是https://github.com/QingdaoU/JudgeServer
其部署方式见https://opensource.qduoj.com/#/judgeserver/deploy
完成部署后在存有docker-compose.yml
的目录下执行docker-compose up
即可启动判题服务器。
青岛大学OnlineJudge完整地展示了如何通过Django+Vue搭建一个OJ系统,给予了我们非常大的启发。