测试环境服务器搭建

article/2025/11/7 10:42:36

1.确定文件目录

主要通过df命令和du命令确定好磁盘大小以及磁盘使用情况,和磁盘剩余大小来判断项目以及软件安装到哪个目录

1.1df命令

df命令主要用来判断磁盘空间大小,使用情况、剩余情况,要看df的参数使用df --help查看即可,这里我使用的是df -h /目录名,即可显示当前目录所在磁盘,以及这个磁盘使用情况
在这里插入图片描述

1.2du命令

查看当前目录大小使用情况,注意是使用情况,主要命令du -h -c

![在这里插入图片描述](https://img-blog.csdnimg.cn/5cac9b9ee9934f32b218f7cf2871b18a.png

1.3free命令

查看当前服务器内存大小

free -g

2.查看中间件,及一些应用是否安装

例如:jdk、nginx、redis,tomcat,oceanbase,dubbo-admin,kkfileview

2.1查看方法:

  1. 通过ps命令查看是否存在该进程
    在这里插入图片描述
  2. 通过find命令查看是否存在该文件或文件夹

3 redis

3.1安装redis

1.下载对应版本安装包 网址:https://download.redis.io/releases/
2.将redsi压缩包放到对应位置,建议放到/usr/local/redis中去
3.解压命令:tar -zxvf reids

tar -zxvf  reids

4.建立软连接(注意是小写的L,不是大写的i)

ln -s redis-xx-xx-x  /home/zszq 

5.建立软连接的时候层级建立错了的话删除命令:
注:软连接目录后面不要接/,接/的话会把软连接的源目录文件删掉,最好用rm /软连接目录删除
因为软连接只是一个文件

rm -f /软连接目录

5.看是否有C环境,没有安装,有继续执行下一步,命令:

gcc -v

6.在解压的文件加下执行make

make

7.安装到指定目录下,建议/usr/local/redis 命令:make install PREFIX=/usr/local/redis

make install PREFIX=/usr/local/redis

注:直接执行make install的话会安装到默认路径:/usr/local/bin

8.将redis的config文件copy到软连接的bin下

cp redis.conf /home/zszq/redis/

9.redis.master.conf配置文件

port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/usr/local/keepalived/data/pid/redis_6379.pid"
loglevel notice
logfile /usr/local/keepalived/logs/redis.6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.6379.rdb"
dir "/usr/local/keepalived/data"
masterauth 123123
slave-serve-stale-data yes
slave-read-only no
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 123123
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

10.redis.backup.conf

port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/usr/local/keepalived/data/pid/redis_6379.pid"
loglevel notice
logfile /usr/local/keepalived/logs/redis.6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.6379.rdb"
dir "/usr/local/keepalived/data"
masterauth 123123
slave-serve-stale-data yes
slave-read-only no
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 123123
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

11.判断安装是否成功:

ps -ef |grep redis

12.启动:

./bin/redis-service ./**.conf

3.2卸载redis

3.3 redis主从配置

两个服务器的配置文件不一样,一个master,一个backup,具体详情看配置文件

注:一定要先启动redis在启动keepalived,redsi主从才会好使

4.安装keepalived

1下载地址

https://www.keepalived.org/download.html

2.安装

1 tar -xf keepalived-1.2.20.tar.gz
2 cd keepalived-1.2.20
3 ./configure && make && make install
4 mkdir /etc/keepalived
5 mkdir /usr/local/keepalived/scripts/ -p
6 cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
7 cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
8 cp /usr/local/sbin/keepalived /usr/sbin
9 cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
10 chmod +x /etc/init.d/keepalived
11 chkconfig --add keepalived
12 chkconfig keepalived on

3 keepalived配置主从

3.1主服务器:
1.cd /etc/keepalived
2.把keepalived配置文件下的master里面的keepalived.conf文件替换进去(注意keepalived.conf文件的权限必须是644,不能多,不能少)
3.将主配置文件放到scripts文件夹中去,详情看配置文件

3.2.从服务器:
1.cd /etc/keepalived
2.把keepalived配置文件下的slave里面的keepalived.conf文件替换进去(注意keepalived.conf文件的权限必须是644,不能多,不能少)
3.将从配置文件放到scripts文件夹中去,详情看配置文件
2.3启动keepalived
启动systemctl start keepalived.service
停止systemctl stop keepalived.service
查看状态止systemctl status keepalived.service

4.配置文件(主)

! Configuration File for keepalived
global_defs {router_id redis
}
vrrp_script chk_redis {script /usr/local/keepalived/scripts/redis-check.sh   #keepalived 健康检测执行脚本interval 2  #每隔几秒发一次健康检测请求timout 2    #响应超时:超过多长时间未响应认为是失败fall 3      #检测失败几次,认为是redis 服务器挂了weight -10  #自我确定服务器挂了之后,优先级加多少, 也就是宕机之后 priority += weight
}
vrrp_instance redis {state MASTER     #MASTER 表示为主, BACKUP 表示为从interface ens4   #eth0 表示监听哪块儿网卡  virtual_router_id 51   priority 100     #优先级, 从服务器推选主服务器就是根据这个来比较的advert_int 1  virtual_ipaddress {xx.xx.xx.xxx  #虚拟的ip 是多少}track_script {chk_redis}unicast_src_ip  xx.xx.xx.xxx  #keepalived 内部通信,本机ip 地址unicast_peer {xx.xx.xx.xxx #指定其它keepalived 地址,如果这个不指定,可能出现,主从都虚拟出了 xx.xx.xx.xxx ip地址}notify_master /usr/local/keepalived/scripts/redis-master.sh  #keepalived 被推选为主服务器器时执行的脚本notify_backup /usr/local/keepalived/scripts/redis-backup.sh  #keepalived 被降级为从服务器时执行的脚本notify_fault /usr/local/keepalived/scripts/redis-fault.sh    #keepalived 运行出现错误的时候执行的脚本notify_stop /usr/local/keepalived/scripts/redis-stop.sh      #keepalived 服务停止时执行脚本
}

5.配置文件从

! Configuration File for keepalived
global_defs {router_id redis
}
vrrp_script chk_redis {script /usr/local/keepalived/scripts/redis-check.sh   #keepalived 健康检测执行脚本interval 2  #每隔几秒发一次健康检测请求timout 2    #响应超时:超过多长时间未响应认为是失败fall 3      #检测失败几次,认为是redis 服务器挂了weight -10  #自我确定服务器挂了之后,优先级加多少, 也就是宕机之后 priority += weight
}
vrrp_instance redis {state BACKUP     #MASTER 表示为主, BACKUP 表示为从interface ens4   #eth0 表示监听哪块儿网卡  virtual_router_id 51   priority 100     #优先级, 从服务器推选主服务器就是根据这个来比较的advert_int 1  virtual_ipaddress {10.56.57.234  #虚拟的ip 是多少}track_script {chk_redis}unicast_src_ip  10.56.57.202  #keepalived 内部通信,本机ip 地址unicast_peer {10.56.57.201 #指定其它keepalived 地址,如果这个不指定,可能出现,主从都虚拟出了 10.56.99.99 ip地址}notify_master /usr/local/keepalived/scripts/redis-master.sh  #keepalived 被推选为主服务器器时执行的脚本notify_backup /usr/local/keepalived/scripts/redis-backup.sh  #keepalived 被降级为从服务器时执行的脚本notify_fault /usr/local/keepalived/scripts/redis-fault.sh    #keepalived 运行出现错误的时候执行的脚本notify_stop /usr/local/keepalived/scripts/redis-stop.sh      #keepalived 服务停止时执行脚本
}

6.执行的redis脚本:

redis-backup.sh

#!/bin/bash
#Auth yangshen
#Time 20221128日 星期一 14:52:02 CST
#Desc 备用服务器#日志文件
logFile=/usr/local/keepalived/logs/redis-keepalived.log# redis-cli 命令绝对路径
cliCmd=//usr/local/redis/bin/redis-cli# 本机redis 服务密码
passwd=123123echo "backup.sh" >> $logFile
echo "waiting for sync data ..." >> $logFile
# 暂停5秒
sleep 5# 设置主从关系
echo "begin to slave ..." >> $logFile
$cliCmd -a $passwd SLAVEOF xx.xx.xx.xxx 6379 &> $logFileecho  "slave done !" $>logFile

redis-check.sh

#!/bin/bash
#Auth yangshen
#Time 20221128日 星期二 14:37:15 CST
#Desc 检测redis服务是否正常脚本, 接受两个参数
#     arg1 ip地址  arg2 端口号#redis 密码
passwd=@Ld123123#日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.log#ping 本机redis服务
pingRS=`/usr/local/redis/bin/redis-cli -a @Ld123123 PING`#如果ping 的结果为PONG,那么返回0 ,否则返回1
if [ $pingRS == "PONG" ]  ; thenecho "ping is ok !"  >>$logFileexit 0
elseecho "ping is error !"  >>$logFileexit 1
fi

redis-fault.sh

#!/bin/bash
#Auth yangshen
#Date 20221128日 星期一 15:50:09 CST
#Desc keepalived 发生错误时执行脚本 # keepalived 日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.log# 向日志输出错误信息
echo "[$(date)] *****  redis falut  ***" >> $logFile

redis-master.sh

#!/bin/bash
#Auth yangshen
#Time 20221128日 星期一 14:44:24 CST
#Desc 主服务器脚本# redis 本机服务密码
passwd=123123# redis-cli 命令绝对路径
cliCmd=/usr/local/redis/bin/redis-cli# keepalived 日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.logecho "`[date]` master " >> $logFile# 设置主从关系,同步数据
echo "begin slaveof ..." >> $logFile
$cliCmd -a $passwd SLAVEOF xx.xx.xx.xxx 6379 &>>$logFile# 暂停5,保证数据同步结束
sleep 5 
echo "slaveof done !" >> $logFile# 取消同步
$cliCmd -a $passwd SLAVEOF NO ONE &>>$logFile

redis-stop.sh

#!/bin/bash
#Auth yagnshen
#Date 20221128日 星期一 15:53:52 CST
#Desc keepalived 停止时执行脚本#日志文件
logFile=/usr/local/keepalived/logs/redis-keepalived.log#输出日志信息
echo "stop ..." >> $logFile

7.启动keepalived

启动systemctl start keepalived.service
停止systemctl stop keepalived.service
查看状态止systemctl status keepalived.service

遇到的问题:./configure的时候说找不到openssl的EVP,找了好久没有找到问题,然后怀疑版本问题,之前安装的是1.0.2,看了一下是比较老的版本了,而且官网说不在支持了在这里插入图片描述
然后换了版本,使用3.0的,但是3.0安装时间特别旧,并且没有安装成功(怀疑是旧的压缩包没有删除的问题,但是安装时间太长了,不想在安装一遍了),直接换1.1.1,安装成功,keepalived也安装成功,但是之前nginx安装的时候使用的openssl是老版本的,担心有问题,重新重启动了一遍,发现没有问题
2.安装时提示找不到openssl
原因:可能是安装openssl的时候指定了安装目录,重新安装一遍openssl,不指定安装目录
3.安装完了没有启动脚本
在这里插入图片描述
解决放方法:
从压缩文件中复制
在这里插入图片描述

启动项目遇见的问题:
1.ts无法启动,原因端口号冲突,将其修改成不同的端口号即可
2.ls无法启动,并且无报错日志,配置文件有问题,可能是编码问题,重新copy一份

4.ngixn

1.先判断电脑是否有nginx的运行环境

rpm -qa|grep gcc-c++ 

在这里插入图片描述

2.下载安装包

官网:

https://nginx.org/download/

3.下载对应压缩包并传到Linux上后解压

4.编译 执行命令

 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 

5.进入nginx目录,执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)

make

6.安装

make install PREFIX=/usr/local/nginx

7.检测配置文件是否有问题

在这里插入图片描述

8.启动

./sbin/nginx -c ./conf/nginx.conf

9.启动校验是否启动成功

在这里插入图片描述
内网环境的话查看进程号

ps -ef |grep nginx

10.在对应目录下建立软连接

https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/

11安装时遇到的问题

参考链接:https://www.cnblogs.com/chengfo/p/16289666.html
1.没有openssl-devel并且无法通过yum安装
openssl下载地址

https://www.openssl.org/source

执行命令:

tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config(不指定,在make install时指定也可)
make 
make install

安装后并不能直接启动,在nginx的./configure时增加参数–with-openssl=解压目录,即:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=解压目录

然后在make的时候出现问题
在这里插入图片描述
去到objs的MakeFile中修改的报错后重新make

提示我编译nginx时struct crypt_data’没有名为‘current_salt’的成员
然后换了一个nginx版本就好了

安装zookerper

1.下载地址

https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/

2.同上一样上传到linux并解压

3.解压后移动到自己想要的目录去

4.做好软连接

5.创建zoo.cfg

cp zoo_sample.cfg zoo.fig

5.修改zoo.cfg(增加一行log,并创建好对应位置的logs)

dataDirLog=/usr/local/zookeeper/logs

6.启动

./bin/zkServer.sh start conf/zoo.cfg

7.检查是否启动成功

./bin/zkServer.sh status

8.启动问题:
check if dataLogDir and dataDir configuration is correct
解决办法,删除log和data下的文件夹及文件

9.部署集群
1.修改zoo.config文件,加入下面这一行

server.1=ip1:2888:3888
server.2=ip2:2888:3888

2.在data文件夹中创建myid文件,文件写自己ip对应的server后面的数字,例如ip1的myid就写1,ip2的myid就写2
3.开启2888,3888端口
4.判断是否启动成功./bin/zkService.sh status(注意按mode状态)
在这里插入图片描述
在这里插入图片描述

安装tomcat

1.下载tomcat,官网:

https://tomcat.apache.org/

2.上传,解压,建立软连接即可

3.启动,在bin目录下执行./startup.sh

./startup.sh 

4.检查是否启动成功:
在这里插入图片描述

安装dubbadmin

1.下载安装包,下载地址:

https://github.com/apache/dubbo/releases

在这里插入图片描述
2.安装:
直接放到想要安装的位置解压,并在bin目录中启动

3.遇到的问题:
启动后使用ps -ef | grep dubbo-admin 能够判断出启动成功了,但是在网页使用ip+8090无法访问,有可能是因为防火墙端口号没有开,开启8090

systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

http://chatgpt.dhexx.cn/article/rLs7PBeQ.shtml

相关文章

软测_1环境搭建

环境搭建 vm虚拟机下载地址以及测试所用到的软件 链接:https://pan.baidu.com/s/10HqWU23pXvOgUOULMsL2wA?pwdkm67 提取码:km67 阿里网盘可能会快一点 https://www.aliyundrive.com/s/NBt6Ka5yi91 苹果系统下载vmware 官网地址 解决办法 https://baiji…

linux中测试环境的搭建

1.VMware虚拟机的安装 参照:虚拟机VMware的下载与安装——详细教程_沐雨风栉的博客-CSDN博客_vmware下载安装教程 2.centos系统安装 参照:CentOS 的安装——超详细教程_沐雨风栉的博客-CSDN博客_centos安装 3.jdk安装 参照:Linux搭建测试…

软件测试环境的搭建及详解

前言 测试环境是QA开展测试工作的前置条件。稳定和可控的测试环境,可以使测试人员在执行测试用例时无需花费额外的时间去维护。有些公司运维或者研发部门会帮忙准备好测试环境,但是QA如果一味依赖其他部门,会局限测试工作的开展。 一、什么是…

如何搭建靠谱的测试环境

今天给大家分享测试环境的搭建与维护。 搭建良好的测试环境是执行测试用例的前提,也是完成测试任务顺利完成的保证。测试环境大体可分为硬件环境和软件环境,硬件环境包括测试必须的PC机,服务器,设备,网线,分…

面试题:关于搭建测试环境 (一)

最近去面试的时候遇到一个问题。 问我测试环境是怎么搭建的。 先别嘲笑我,我会自省3天。 作为一个测试人员,事实上,我真的从来没有完完全全是搭建一个测试环境。 更搞笑的是,我居然还停留在说保证什么运行平台,保证…

如何自己搭建测试环境

如何搭建测试环境? 1.我们主要安装三个软件 在Windows 10下搭建测试环境,需要安装tomcat。tomcat是一款主要用来web容器,作为中转站,用来解析和进行返回数据打包。 而tomcat是Java语言开发的软件,因为jak是Java语言的…

Linux搭建测试环境步骤

Linux搭建环境基础步骤 准备工具: SecureCRT工具(Linux工具,连接服务器) FTP传输工具(上传文件到服务器) MySQL连接工具 安装包(以下文件均为压缩包rpm格式和tar.gz):…

Linux搭建测试环境(耗巨时制作全教程)

文章目录 前言一、安装dcoker1.1 安装yum工具1.2更新本地的镜像源1.3 安装docker1.4 启动docker1.5 配置镜像加速 二、安装nginx2.1 按照nginx的依赖包,一键安装2.2 下载并解压安装包2.3 安装nginx2.4 启动nginx服务2.5 编辑nginx的配置文件nginx.conf2.6 重启nginx…

如何搭建一个好的测试环境

测试环境在软件项目中的重要性不言而喻,测试环境独立及是否稳定直接影响了项目的进度。 测试环境(Testing environment)是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。简单的说,经过良好规划和管…

软件测试测试环境搭建很难?一天学会这份测试环境搭建教程

如何搭建测试环境?这既是一道高频面试题,又是困扰很多小伙伴的难题。因为你在网上找到的大多数教程,乃至在一些培训机构的课程,都不会有详细的说明。 你能找到的大多数项目,是在本机电脑环境搭建环境,或是…

测试环境的搭建

JDK的搭建 1.下载jdk1.8,选择jdk-8u202-windows-x64(JDK是java软件开发包(Java Development Kit)的简称,要想开发java程序就必须安装JDK。没有JDK的话,无法编译运行Java程序。) Index of java-local/jdk/8u202-b08 (…

【Python】Matplotlib画图(四)——折线图

环境 Python Mac OS 代码 # coding:utf-8""" Author: roguesir Date: 2017/8/30 GitHub: https://roguesir.github.com Blog: http://blog.csdn.net/roguesir """import numpy as np import matplotlib.pyplot as plt x1[20,33,51,79,101,1…

Python绘制简单的折线图,附详细代码和注释

本文利用Python绘制简单的折线图,需使用Matplotlib安装包,该安装包的安装可参考: Python中安装Matplotlib数学绘图库_Xx_Studying的博客-CSDN博客 绘制简单的折线图详细的python代码: import matplotlib.pyplot as plt # 导入…

python绘制双折线图

#每天进步一点点 昨天写了一个绘制折线图的代码: import numpy as np import matplotlib.pyplot as plt from pylab import * #导入数据 data {loss: [0.2183203399181366, 0.18074245750904083, 0.17447859048843384, 0.16980455815792084, 0.16634176671504974,…

python用matplotlib画折线图

折线图: import matplotlib.pyplot as plt y1[10,13,5,40,30,60,70,12,55,25] x1range(0,10) x2range(0,10) y2[5,8,0,30,20,40,50,10,40,15] plt.plot(x1,y1,labelFrist line,linewidth3,colorr,markero, markerfacecolorblue,markersize12) plt.plot(x2,y…

python画折线图

最近要画论文中的图,参考了一下之前的论文里面的图,觉得人家画的不错(见下图),想画一下,但是一直也没找到合适的画法,最近潜心研究,终于解决了这个问题,写一下&#xff0…

Python绘制折线图、散点图

Python绘图需要下载安装matplotlib模块,它是一个数学绘图库,我们将使用它来制作简单的图表,如折线图和散点图。关于matplotlib模块的下载安装预配置将在后面具体介绍。 (一)绘制折线图 首先,我们先绘制一…

【python画图】使用python画折线图、柱状图

目录 一、读取数据 (1)文件中读取数据 (2)代码中直接读取 二、画图 折线图 要想指定横纵轴的刻度范围或指定相应取值:(或者X轴不规则增长) 柱状图 其实现在有很多在线网站就可以直接导入数据画图,不…

Python绘制折线图or平滑曲线图(2D)

一、折线图 Python使用matplotlib进行2D绘图的主要思想就是传入x坐标数组和y坐标数组,然后调用plot函数。其中x数组的长度和y坐标数组的长度要必须一致。只要二者的数据有了,那么画一个折线图就是非常简单的事情。例如 代码 import numpy as np import …

Python数据可视化的例子——折线图(line)

对于时间序列数据而言,一般都会使用折线图反映数据背后的趋势。通常折线图的横坐标指代日期数据,纵坐标代表某个数值型变量,当然还可以使用第三个离散变量对折线图进行分组处理。接下来仅使用Python中的matplotlib模块和pandas模块实现折线图…