| 序号 | 项目 | 版本 |
|---|---|---|
| 1 | 操作系统 | CentOS Linux release 7.9.2009 (Core) |
| 2 | redis | 7.0.0 |
| 3 | Mysql | mysql Ver 8.0.29 for Linux on x86_64 (MySQL Community Server - GPL) |
| 4 | nginx | 1.21.6 |
| 5 | 在线考试系统 | xzs-3.7.0 |
学之思在线考试系统官方地址为:https://www.mindskip.net/xzs.html
本文末尾会附带本次部署用到的所有文件。
mkdir deploy cd deploy pwd
输出:
/home/rio/deploy1.1 Redis的安装
1.1.1 下载redis安装包
wget https://download.redis.io/releases/redis-7.0.0.tar.gz tar -zxvf redis-7.0.0.tar.gz # 保持目录整洁 mkdir download mv redis-7.0.0.tar.gz download
1.1.2 进入目录并编译安装
cd redis-7.0.0 # 更新gcc等编译组件 #先切换到root sudo -i cd /home/rio/deploy/redis-7.0.0 yum -y install gcc automake autoconf libtool make python3 # 编译并安装 make && make install
1.1.3 根据应用场景,可以选择是否make test
yum -y install tcl make test
1.1.4 修改redis配置
nano redis.conf # 开启后台启动,找到以下字符串 # daemonize no # 改为 daemonize yes
daemonize yes
保存退出
1.1.5 启动redis
./src/redis-server redis.conf ps aux |grep redis
1.1.6 注册为系统服务
提前kill掉刚才启动的进程
# 具体pid根据自己情况查询 kill 116251
cd utils/ cp install_server.sh install_server.sh.bak nano install_server.sh
找到以下代码,对其注释(下述代码已做完注释)
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and$
# exit 1
#fi
./install_server.sh
安装完成后服务会自动运行,先kill掉。接下来继续注册为系统服务:
mv /etc/init.d/redis_6379 /etc/init.d/redis chkconfig --add redis # 重新加载服务配置并启动redis systemctl daemon-reload systemctl restart redis1.2 安装mysql8
1.2.1 安装运行(仍在root身份)
cd /home/rio/deploy/download # 获取官方源并安装 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm rpm -ivh mysql80-community-release-el7-3.noarch.rpm yum -y install mysql-server --nogpgcheck # 启动并测试服务 sudo systemctl start mysqld sudo systemctl status mysqld
1.2.2 配置
# 设置开机启动 systemctl enable mysqld systemctl daemon-reload # 获取临时密码 cat /var/log/mysqld.log |grep 'temporary password' # 登录mysql mysql -u root -p
#修改root密码 #注意密码强度,太弱会执行失败 alter user 'root'@'localhost' identified by '你的密码'; flush privileges; select user,host from mysql.user;
1.3 安装JDK 1.8小结:如果你处于离线安装情境,请参考此文章:Centos 7离线安装最新版mysql
1.3.1 下载软件包
cd /home/rio/deploy/download # 下载 wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm # 安装 rpm -ivh jdk-18_linux-x64_bin.rpm # 验证 java --version1.4 安装Nginx
# 安装Nginx支持 yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel # 下载软件包 wget http://nginx.org/download/nginx-1.21.6.tar.gz tar -zxvf nginx-1.21.6.tar.gz -C ../ cd ../nginx-1.21.6/ # 编译 ./configure make && make install # 配置 nano /usr/local/nginx/conf/nginx.conf
修改端口
nano /usr/lib/systemd/system/nginx.service
写入以下内容:
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
# 设置开机启动 systemctl enable nginx.service systemctl daemon-reload # 启动服务 service nginx start # 验证 service nginx status2. 安装服务器 2.1 验证环境
ps -ef |grep -E 'mysql|redis|nginx' java --version
确认无误后继续运行,否则请检查环境配置
2.2 数据库配置cd /usr/local/ # 项目结构配置 mkdir xzs cd xzs mkdir sql release web # 登录mysql mysql -u root -p
创建数据库
create database xzs; use xzs; exit;
# 执行数据库脚本 mysql -u root -p -D xzs < /usr/local/xzs/sql/xzs-mysql.sql2.3 配置jar包
打开java IDE(部署时采用IntelliJ IDEA)
2.3.1 修改配置文件:
src/main/java/resources/application-prod.yml
修改:
username: root
password: <你的密码>
如需修改端口,打开配置文件(本文未做变动):
src/main/java/resources/application.yml
2.3.2 修改完编译打包:
执行
Maven=>Lifecycle=>clean
Maven=>Lifecycle=>package
2.3.3 将编译好的java包: 上传到deploy目录,拷贝文件:
cp xzs-3.7.0.jar /usr/local/xzs/release
2.3.4 启动服务端
# 启动 nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod xzs-3.7.0.jar > start1.log 2>&1 & # 验证 ps -ef |grep xzs3. 更新Nginx配置
注意下文中我使用的端口号是9001,可根据实际情况修改
nano /usr/local/nginx/conf/nginx.conf
修改后如下:
server {
listen 9001;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8000;
}
service nginx restart4. 设置防火墙
firewall-cmd --permanent --add-port=9001/tcp firewall-cmd --reload5. 浏览器登录测试 5.1 学生登录界面 5.2管理员登录界面 5.3 管理员后台界面 5.4 学生主页面 6.有关文件
本文download文件夹和mysql-server安装过程中的rpm包缓存打包完成
CSDN下载:



