学生程序设计能力提升平台综述

2021SC@SDUSC

学生程序设计能力提升平台综述

系统运行环境

  1. Ubuntu18.04+或主流云服务器系统
  2. mysql 8.0+
  3. tomcat 9.0.53 (tomcat 10.0以上版本无法运行)
  4. nginx 1.16.1+
  5. java 1.8
  6. rabbitmq 3.7.10+

编译环境

  1. java 1.8/java 8
  2. 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并配置自启动

  1. 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的地址

  2. 生成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
    
  3. 调整系统防火墙打开8080端口

    sudo ufw allow 8080
    

    云服务器还需要查看服务器提供商的8080端口是否打开

mysql的安装配置

  1. 安装mysql

    sudo apt-get install mysql-server-8.0
    # 后面基本上都是yes,记住自己输入的密码就好
    
  2. 下载项目根目录中的init.sql文件

  3. 通过mysql -uroot -p < init.sql输入密码执行sql文件,初始化数据库

rabitmq安装

  1. 通过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 
    
  2. 配置防火墙

    sudo ufw allow 15762
    sudo ufw allow 5762
    

    云服务器还需要查看服务器提供商的15762、5762端口是否打开

  3. 新版本的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

个人项目分工

  1. 用户身份鉴权模块分析
  2. 集成与自动化部署分析
  3. rabbitmq异步任务执行分析
  4. 数据统计分析
  5. 传输可靠性分析
  6. 传输校验分析
  7. mybatis自定义语言注入分析
  8. OAuth2用户鉴权分析
  9. 多测试点实现
  10. 数据库不删除原则分析
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值