自动化测试平台部署到服务器
简介:本平台是使用spring boot加前端vue实现的前后端分离的
数据库使用mysql进行数据存储,已能实现接口自动化内容
使用环境跟项目配置域名进行切换,用户使用任务进行手动或者定时启动
统计任务和接口详情信息,由前端配置邮件按照项目对应的人进行发送
性能是集成jmeter的原理进行的驱动,需要手动编写jmx文件
项目包下载地址:
链接:https://pan.baidu.com/s/1Msx3Vgbco2Abee436cxWXw
提取码:ngcj
第一部分 数据库部署
1.下载Mysql
下载地址:https://downloads.mysql.com/archives/community/
2、环境配置
检测系统是否自带Mysql
# rmp -qa|grep mysql
如果有进行强行卸载
# rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
检测系统是否自带mariadb
# rpm -qa|grep mariadb
# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
# rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64
# rpm -e --nodeps mariadb-server-5.5.64-1.el7.x86_64
用连接工具将下载的mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz上传到linux服务器/data/software/的目录下面
3、安装
进入/data/software/目录下解压
# tar -zxvf mysql-5.7.28.tar.gz
解压完成后重命名
# mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28
# mv mysql-5.7.28 /usr/local/
检查mysql组和用户是否存在,如果没有则创建
cat /etc/group|grep mysql
groupadd mysql
useradd -r -g mysql mysql #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
安装数据库
创建data目录
cd
/usr/local/mysql-5.7.28
mkdir data
在/usr/local/mysql-5.7.28/support-files目录下创建my_default.cnf
# vim my_default.cnf
[mysqld]
#设置mysql的安装目录
basedir =/usr/local/mysql-5.7.28
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.28/data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql-5.7.28/data/mysqld.log
pid-file = /usr/local/mysql-5.7.28/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TAB**,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TAB**,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
拷贝,是否覆盖,是
# cp my_default.cnf /etc/my.cnf
初始化Mysql
# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.28/ --datadir=/usr/local/mysql-5.7.28/data/
如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过
yum install libaio
初始化完成之后查看日志
cat /usr/local/mysql-5.7.28/data/mysqld.log,蓝框里的是临时密码
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
进入mysql并更改密码
cd /usr/local/mysql-5.7.28
./bin/mysql -u root -p
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
添加远程访问权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
如果更改时报错:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY',就先查询一下是否已更改,最后执行刷新。
重启mysql生效
service mysql restart
3、创建库
-- 创建mysql库
create database `boot` default character set utf8mb4 collate utf8mb4_general_ci;
4、导入数据
选择boot库,右击,移到导入,选择执行SQL脚本...,选择boot.sql文件,点击执行按钮。如下图
第二部分 安装redis和部署
1、下载安装包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
2、安装
1)通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作
# tar -zxf redis-4.0.9.tar.gz
2)进入解压文件目录使用make对解压的Redis文件进行编译
图示:这里因为我redis的安装目录在 /usr/locat/redis 目录下,因此会有如下操作
编译完成之后,可以看到解压文件redis-5.0.5 中会有对应的src、conf等文件夹
3)编译成功后,进入src文件夹,执行make install进行Redis安装。
如下图示安装完成,界面如下:
3、部署
1)为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
创建bin和etc文件
如图示:
回到刚刚安装目录,找到redis.conf,将其复制移动到 /usr/local/redis/ect 下
执行命令如下:
mv redis.conf /usr/local/redis/etc/
进入src目录,移动mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server到/usr/local/redis/bin/
执行命令 :mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
依次查看移动后文件
2)执行redis-server 启动redis
3)设置绑定ip(注:该步骤如果不需要可省略)
如需要,可将上图绑定ip改为指定ip。
4)设置后台启动redis
首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
cd etc/
vim redis.conf
将no修改为yes
redis.conf 配置解析(设置红色的基本就可以自己用了,bind配置0.0.0.0后要在/etc/sysconfig/iptables配置相应的端口):
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
(设置0.0.0.0 则改为用iptables来控制访问权限)
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
再次启动redis服务,并指定启动服务配置文件
redis-server /usr/local/redis/etc/redis.conf
配置后台运行成功。
第三部分 后台项目部署到服务器
1.创建路径/data
# mkdir /data
2.进入到data路径下
# cd /data
3.上传sys.zip包
# rz –y
4.解压sys.zip包
# unzip sys.zip
5.进入sys路径下
# cd /data/sys
6.修改jar包连接的数据库地址
# vim system-2.2.0.jar
然后用/进行搜索,输入dev进行搜索,搜索到了BOOT-INF/classes/application-dev.yml之后点击回车,然后再输入/进行搜索123,再使用N进行翻页,搜索到了之后就修改数据库地址,修改完成之后:wq保存,然后回到上一层页面,在上一层页面输入:q进行退出
7.启动java包
# java –jar system-2.2.0.jar >s.log &
8.查看启动日志
# tail -100f s.log
附件:
jmx里面放性能上传的jmx文件跟csv txt文件
report里面是邮件的配置文件
file是测试用例下载模板
s.log是日志文件
restart.sh是项目启动脚本
jar包是项目包
关掉项目:
ps aux|grep sys
kill -9 进程号
第四部分 前端项目部署到服务器
1.安装编译工具及库文件
# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
gcc、gcc-c++ # 主要用来进行编译相关使用
openssl、openssl-devel # 一般当配置https服务的时候就需要这个了
zlib、zlib-devel # 主要用于文件的解压缩
pcre、pcre-devel # Nginx的rewrite模块和HTTP核心模块会用到PCRE正则表达式语法
make # 遍历
make install # 安装
2.创建nginx目录
1)进入/usr/local目录下
# cd /usr/local
2)创建nginx文件
# mkdir nginx
3.下载并解压nginx
1)进入nginx文件下
# cd /usr/local/nginx
2)下载nginx安装包
# wget https://nginx.org/download/nginx-1.18.0.tar.gz
3)解压
# tar -zxvf nginx-1.18.0.tar.gz
4.进入安装包目录
# cd /usr/local/nginx-1.18.0
5.编译安装nginx,默认安装到 /usr/local/nginx中
./configure
make && make install
6.进入到/usr/local/nginx/sbin目录,启动nginx
# ./nginx
7.查看启动的 nginx 进程
ps -ef|grep nginx
8、查看是否可以访问
# curl localhost:80
出现html脚本代表可以访问
9.上传解压项目包
1)将dist.zip上传到服务器的/usr/local/nginx/html路径下
# rz -y
2)对文件进行解压
# unzip dist.zip
3)修改后台接口地址
进入到dist文件下
# cd /usr/local/nginx/html/dist
对index.html文件进行编辑
# vim index.html
将window._CONFIG['domianURL'] 中的地址改为自己后台接口的地址
保存文件
按esc
:wq
10.配置nginx.conf
# cd /usr/local/nginx/conf
# vim nginx.conf
#启动的进程数量
worker_processes 1;
events {
#单个进程并发量
worker_connections 1024;#总并发量=单个进程并发量*启动的进程数量
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;#连接服务器超时时长65s
#虚拟主机配置
server {#一个虚拟主机配置,多个虚拟机就配置多个
listen 8888;
server_name 123.57.1.35; #域名解析
location / {#配置默认访问页
root /usr/local/nginx/html/dist;
index index.html index.htm;#访问的首页
try_files $uri $uri/ @router;
}
location ./ {
# 代理转发到后台服务接口,注意后面英文分号;不要少了
proxy_pass http://123.57.1.35:8090/jeecg-boot/swagger-ui.html;
}
location @router{
#rewrite ^.*/index.html last;
rewrite ^(.+)$ /index.html last;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
保存文件
按esc
:wq
11.查看nginx.conf配置是否正确
/usr/local/nginx/sbin/nginx -t
12.重启nginx
# ./nginx -s reload
13.在浏览器输入域名:端口进行访问
附件内容如下:
启动,重启,停止nginx
cd /usr/local/nginx/sbin/
./nginx #启动
./nginx -s stop #停止
./nginx -s quit #退出
./nginx -s reload #重启 修改配置后重新加载生效<br><br>./nginx -s reopen :重新打开日志文件<br>
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
启动方法二
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止方法二
ps -ef|grep nginx #查询进程号
kill -QUIT 主进程号 #从容停止
kill -TERM 主进程号 #快速停止
kill -9 主进程号 #强制停止
注:访问外网ip(注意如果是阿里云服务器需要先配置安全组规则)