自動化測試平台部署到服務器


簡介:本平台是使用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(注意如果是阿里雲服務器需要先配置安全組規則)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM