2021SC@SDUSC
学生程序设计能力提升平台综述
学生程序设计能力提升平台综述
系统运行环境
- Ubuntu18.04+或主流云服务器系统
- mysql 8.0+
- tomcat 9.0.53 (tomcat 10.0以上版本无法运行)
- nginx 1.16.1+
- java 1.8
- rabbitmq 3.7.10+
编译环境
- java 1.8/java 8
- nodejs
平台的安装与配置(以ubuntu记录)
java环境的安装
# 更新包管理工具
sudo apt update
# 安装java8版本
sudo apt-get install openjdk-8-jdk-headless
nginx的安装
# 安装nginx
sudo apt-get install nginx
tomcat的安装配置
获取tomcat程序
# 获取tomcat安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
# 解压安装包
tar -zxvf apache-tomcat-9.0.27.tar.gz
处于安全新建tomcat用户组以及用户
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
解压配置tomcat
# 新建tomcat存放目录
sudo mkdir /opt/tomcat
# 解压文件放置到/opt/tomcat
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
# 赋予tomcat用户组访问权限
cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
# 为tomcat组提供对conf目录及其所有内容的读访问权限,并执行对目录本身的访问
sudo chmod -R g+r conf
sudo chmod g+x conf
# 使tomcat用户成为webapps、work、temp和日志等目录的所有者::
sudo chown -R tomcat webapps/ work/ temp/ logs/
创建systemd并配置自启动
-
Tomcat需要知道Java的安装位置。此路径通常称为“JAVA_HOME”。查找该位置的最简单方法是运行以下命令
sudo update-java-alternatives -l
java-1.11.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.11.0-openjdk-amd64
最后显示的就是JAVA_HOME的地址
-
生成tomcat.service文件
sudo vim /etc/systemd/system/tomcat.service
将以下内容粘贴到服务文件中。如果需要的话,修改
JAVA_HOME
的值,以匹配您在系统上找到的目录位置[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
完成后,保存并关闭文件。
接下来,执行以下命令
# 重新加载systemd守护程序 sudo systemctl daemon-reload # 启动Tomcat服务 sudo systemctl start tomcat # 检查tomcat是否正常启动 sudo systemctl status tomcat # 设置tomcat重启后自动启动 sudo systemctl enable tomcat
-
调整系统防火墙打开8080端口
sudo ufw allow 8080
云服务器还需要查看服务器提供商的8080端口是否打开
mysql的安装配置
-
安装mysql
sudo apt-get install mysql-server-8.0 # 后面基本上都是yes,记住自己输入的密码就好
-
下载项目根目录中的init.sql文件
-
通过
mysql -uroot -p < init.sql
输入密码执行sql文件,初始化数据库
rabitmq安装
-
通过apt-get安装
# 安装erlang语言环境 sudo apt-get install erlang-nox # 配置公钥 wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add - # 安装rabbitmq sudo apt-get install rabbitmq-server # 启用管理插件 sudo rabbitmq-plugins enable rabbitmq_management # 重启rabbitmq sudo service rabbitmq-server restart
-
配置防火墙
sudo ufw allow 15762 sudo ufw allow 5762
云服务器还需要查看服务器提供商的15762、5762端口是否打开
-
新版本的rabbitmq不支持guest远程登陆,因此新建rabbitmq用户
# 增加普通用户 sudo rabbitmqctl add_user admin yourpassword # 给普通用户分配管理员角色 sudo rabbitmqctl set_user_tags admin administrator # 赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源,也是添加远程访问权限 sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
平台的编译
后端
平台的后端用springboot书写,需要java环境以及maven进行编译
# 后端项目目录下
mvn clean install -Dmaven.test.skip=true
前端
前端用vue书写,需要node.js环境进行编译
# 前端项目目录下
npm run build
个人项目分工
- 用户身份鉴权模块分析
- 集成与自动化部署分析
- rabbitmq异步任务执行分析
- 数据统计分析
- 传输可靠性分析
- 传输校验分析
- mybatis自定义语言注入分析
- OAuth2用户鉴权分析
- 多测试点实现
- 数据库不删除原则分析