Bootstrap

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


前言

本文记录下,测试人员如何搭建测试环境,以供后面自己方便找,大家可以借鉴下搭建测试环境需要安装的有:nginx,redis,mysql,java,docker,保证这几个基本就可以用了,当然根据不同环境的需要,还需要安装一些类似ftp,libreoffice,onlyoffice 等文件处理;

教程中需要新环境,避免安装重复的软件产生冲突,你们也可自行清理已有软件,
我用的本地虚拟机来演示操作

  • 我把所有的安装教程都汇聚到了一起,所以文字可能很长,有需要的可以耐心看完;

一、安装dcoker

1.1 安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

下图表示安装成功
在这里插入图片描述

1.2更新本地的镜像源

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

下图表示安装成功
在这里插入图片描述

1.3 安装docker

yum install -y docker-ce

docker-ce为社区免费版本,安装时间较长,稍等片刻docker即可安装成功`
下图表示安装完成
在这里插入图片描述

1.4 启动docker

启动docker前 需要关闭防火墙

#关闭防火墙
systemctl stop firewalld
#查看是否关闭
systemctl status firewalld
#设置开机不自启防火墙
systemctl enable firewalld

启动docker,输入命令:

systemctl start docker

成功如下图在这里插入图片描述

1.5 配置镜像加速

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

#创建docker文件夹
sudo mkdir -p /etc/docker
#进入docker文件目录
cd /etc/docker
#创建文件daemon.json 文件
touch dameon.json

#向dameon.json 中追加数据 命令如下:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF

最后重新加载文件,并重启docker即可

sudo systemctl daemon-reload
sudo systemctl restart docker

在这里插入图片描述
到这里docker安装基本结束了,
相关docker的其他知识点,可自行搜索学习如docker images
最后开启防火墙:systemctl start firewalld


二、安装nginx

2.1 按照nginx的依赖包,一键安装

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.2 下载并解压安装包

//进入到local目录下创建nginx文件夹
cd /usr/local
//创建nginx文件
mkdir nginx
//进入nginx 文件
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
// 解压nginx包
tar -xvf nginx-1.13.7.tar.gz

2.3 安装nginx

//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install

中间一定要进入nginx的文件下再执行make 命令,不然就会提示make 操作无文件

2.4 启动nginx服务

 ​​​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2.5 编辑nginx的配置文件nginx.conf

# 打开配置文件
vi /usr/local/nginx/conf/nginx.conf

将server 下的 listen 端口号改成8089(随便挑个端口),因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

将localhost修改为你服务器的公网ip地址 如下图
在这里插入图片描述

记得wq保存退出

2.6 重启nginx

/usr/local/nginx/sbin/nginx -s reload

** 查看nginx是否启动

ps -ef | grep nginx

ps -ef | grep nginx

2.7 开放端口,允许外部访问nginx

若想使用外部主机访问nginx,需要关闭服务器防火墙或开放nginx服务端口,端口为上一步nginx.conf的配置端口

#新增开放端口,端口来源于你在nginx 配置的listen:端口,我这里配置的是5000
firewall-cmd --zone=public --add-port=5000/tcp --permanent

#重启防火墙:
firewall-cmd --reload

#查询端口号80 是否开启:
firewall-cmd --query-port=5000/tcp

在这里插入图片描述

2.8 随后访问该ip:端口 即可看到nginx界面。

在这里插入图片描述

#下面是nginx 的其他常用操作命令
#进入安装目录中,
命令: cd /usr/local/nginx/sbin

#启动,关闭,重启,命令:
./nginx 启动

./nginx -s stop 关闭

./nginx -s reload 重启

到此nginx安装成功,后续还有其他需要在nginx.conf 中进行配置;

三、安装mysql

3.1在线安装mysql源

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

3.2 安装mysql

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo
mysql-community-source.repo

3.2.1使用yum进行安装
# 必须进入到 /etc/yum.repos.d/目录后再执行安装
cd /etc/yum.repos.d/
# 安装
yum install mysql-server
# 如果报错 RPG key 校验错误的话,选择不校验key即可,使用命令
yum install mysql-server --nogpgcheck

在这里插入图片描述

3.3 启动mysql

# 启动 MySQL
systemctl start mysqld
# 设置开机自启
systemctl enable mysqld

3.4 登录mysql

**获取临时密码

# 获取临时密码(在第一次登录时就是用这个密码)
grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -u root -p
# 然后输入密码(刚刚获取的临时密码)

操作见下图
在这里插入图片描述

获取不到密码/或者登录不了的情况,处理如下

#01.获取不到临时密码的处理方法

# 删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
# 启动mysql
systemctl start mysqld

#02 登录不了的处理方法,修改配置文件,跳过效验密码

# 打开配置文件
vim /etc/my.cnf
# 在文档内搜索mysqld定位到[mysqld]文本段
/mysqld
# 在[mysqld]后面任意一行添加
skip-grant-tables
#保存后重启mysql
systemctl restart mysqld

3.4 修改mysql密码

执行下面的命令时需登录mysql

# 修改密码,密码格式有一定的要求,
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234qweQWE...';
# 刷新权限
flush privileges;
# 查看 mysql 的密码策略
SHOW VARIABLES LIKE 'validate_password%';

操作见下图
在这里插入图片描述
中间有报错记得,刷新权限

3.5 开启远程访问

# 连接服务器
mysql -u root -p
# 看当前所有数据
show databases;
# 进入mysql数据
use mysql;
# 查看mysql数据库中所有的表
show tables;
# 查看user表中的数据
select Host, User,Password from user;
# 修改user表中的Host(% 代表任意的客户端,可替换成具体IP地址)
update user set Host='%' where User='root';  
# 最后刷新一下
flush privileges;

3.6修改默认编码

vim /etc/my.cnf
# 进入文件后添加下面的配置即可
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

添加utf-8 ,记得保存退
在这里插入图片描述
重启mysql后,并进入mysql查看编码格式

#重启mysql
systemctl restart mysqld
#进入mysql
mysql -uroot -p
#查看编码格式
show variables like 'character%';

格式修改成功
在这里插入图片描述

四、安装 java

java安装参考的另外一篇文章,链接如下:

linux下安装java

五、安装redis

5.1 下载redis安装包

redis版本库地址如下:https://download.redis.io/releases/ 选择想要的版本下载即可
在这里插入图片描述

5.2 解压并安装redis

#创建redis目录
mkdir /usr/local/redis
#进入到redis 目录下
cd  /usr/local/redis
#通过 rz  命令上传下载的redis包,或者finashell直接拖动文件到redis目录下也可以
rz
#解压redis包
tar -zxvf  redis-7.0.7.tar.gz 

在这里插入图片描述

5.3 安装gcc

#安装gcc
yum -y install gcc

#查看gcc 版本
gcc -version

在这里插入图片描述

5.4 编译redis

#进入redis包目录
cd /usr/local/redis/redis-7.0.7/
#执行make命令
make
#编译成功后,继续执行make install命令
make install

在这里插入图片描述
注意执行make命令时,一定要进入redis解压后的包目录里面执行,这样才不会提示 make 无执行文件

5.5 启动redis

#前台启动:在任何目录下执行
 redis-server
#后台启动:在任何目录下执行 
redis-server &
#启动redis服务时,指定配置文件:这种主要用于你改了配置文件的情况,比如你把默认端口号改了,你就用这个,正常也用这个
redis-server redis.conf &   

常用的就是:redis-server redis.conf &

5.6 关闭redis

redis-cli shutdown

还有一种就是通过redis的进程号 去关闭redis
ps -ef|grep redis
kill -9 xxx
在这里插入图片描述

5.7 修改redis密码

方式1:通过命令生成密码,但是服务器重启后密码会失效
#进入redis
redis-cli
#修改密码
config set requirepass 123456

requirepass: 后面就是你要修改的密码
在这里插入图片描述

方式2:修改配置问文件redis.conf 设置密码(永久有效)

1.进入到redis.conf 文件中,(也就在你安装redis包的路径下面)
如果是finashell连接的话,直接双击文件即可编辑, 你们也可在终端通过命令修改;

在这里插入图片描述
2.找到requirepass ,取消注释,添加密码后保存退出
在这里插入图片描述
在这里插入图片描述
如果是finashell,双击文件进行的编辑,记得ctrl+s 保存哈

3.重启服务器,配置即可生效(重启后记得启动redis)

5.8 远程连接redis

远程连接时,如果防火墙开启,就需要防火墙开放端口:6379(redis默认端口),并重新加载防火墙
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --reload

方式1:服务器本机连接

#进入redis
redis-cli
#验证密码
auth pass_123456

在这里插入图片描述
方式2:Anoter Redis Desk mannger 工具连接
在这里插入图片描述

很多人通过anotherdesk连接后,可能都会提示连接被拒绝,这个时候修改下redis.conf 配置文件就行,
命令如下:
cd /usr/local/redis/redis-7.0.5
vim redis.conf
在这里插入图片描述

注释掉#bind 127.0.0.1 -::1 (大概也就是不限制固定ip访问吧,或者127开头的ip访问)

在这里插入图片描述

修改保存后,一定要重启redis服务, 先杀死redis进程,再重启;
然后再去连接就不会提示被拒绝了;
在这里插入图片描述

六、编辑后台配置,启动后端程序

到这里我们前戏都已经做足了, 下面开始上台表演了

首先要先编辑下后端jar包中的yml配置文件(正常yml文件的配置都是开发配好了直接用,)
修改相应服务ip,端口; redis,mysql 的账号密码等;
在这里插入图片描述
编辑后,记得保存,还有其他的yml配置,根据各自需要进行调整;

6.1 上传前端包,后端jar包到服务器

#在home下创建server目录存放后端包
mkdir /home/server
# rz  上传后端包到server目录下,或者直接拖动上传
rz 
#再建一个文件存放前端包
mkdir /home/server/ybxa
#进入ybxa文件夹下
cd /home/server/ybxa
# rz  上传前端包到ybxa目录下,或者直接拖动上传

在这里插入图片描述

在这里插入图片描述

6.2 配置nginx的配置文件

编辑配置文件:
vim /usr/local/nginx/conf/nginx.conf
1.修改root 后的html 改成前端包的存放路径 /home/server/ybxa
2.并在下方添加一段数据,这是后端所需的映射
在这里插入图片描述

数据来源如下

location ^~ /zwzc/ {
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_pass http://127.0.0.1:8080/;
        }

完成配置后,记得重启nginx

/usr/local/nginx/sbin/nginx -s reload
(如果提示报错,显示nginx.pid faild) 这就表示nginx就没有运行,重启时在路径下找不到nginx的pid进程号,就需要手动启动nginx
​​​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

6.3 访问项目的前端界面

输入ip:端口 (nginx里面配置的端口) 到浏览器即可访问;目前只有前端,后端还未启动
192.168.159.133:5000

在这里插入图片描述

6.4 启动后端jar包

#进入后端包jar的目录下
cd /home/server
#在根目录下窗口一个logs文件
mkdir /logs
#输入启动命令
nohup java -jar -Xms1024m -Xmx2048m -XX:PermSize=1024M -XX:MaxPermSize=2048M 20221209165434.jar  --spring.profiles.active=dev > /logs/catalina.out 2>&1 &
#启动过程有一段时间,耐心等待或者可以看cpu的进度也可以,启动后端包过程中cpu占比很大,启动完了之后就降下来了

启动命令详解释

#查看java启动成功与否
ps -aux | grep java
在这里插入图片描述
其他命令:
杀死java:
kill -9 80940
kill-15 80940 (80940就是java的进程号,)

6.5访问项目

输入相应的ip:端口 就可以正常使用项目了;

这个时候,数据库还没得数据,记得导入数据库

总结

走到这里,搭建环境就圆满结束了,过程中搭建了:nginx,redis,mysql,java,docker;
其实还不完整,但整体已经有了,其他的根据自己需要进行搭建

在搭建过程中,有时候访问不了,连接被拒绝等需要考虑防火墙问题,防火墙需要开放mysql的3306端口,redis的6379端口
以及自行配置的nginx的开放端口5000 等等;
相应命令如下:
firewall-cmd --list-all 查看已所有已经开放的端口列表
firewall-cmd --query-port=8080/tcp 是否开启
firewall-cmd --permanent --add-port=80/tcp 开启80端口
firewall-cmd --permanent --remove-port=8080/tcp 移除端口
添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效

另外环境相关的 frp穿透,私钥连接等可以看我发的其他文章

注:文章部分教程参考其他博主链接如下
环境搭建的配置参考链接
1.安装docker
https://blog.csdn.net/m0_59196543/article/details/124749175
2.安装nginx
https://blog.csdn.net/t8116189520/article/details/81909574
3.安装mysql
https://www.cnblogs.com/2393920029-qq/p/16310443.html
4.安装java
https://blog.csdn.net/weixin_55944621/article/details/127996632
5.安装redis
https://blog.csdn.net/m0_63270506/article/details/125028667

;