前言
不论是前面分享过的《开源云真机平台-Sonic》,还是《流马测试平台》、《一站式开源持续测试平台Metersphere》,似乎都会用到一些如JDK、ADB、MySQL、Docker、Python等各类环境,像一些前后端分离项目可能还会用到NodeJS。环境搭建是一切开发调试、编译构建、自动化测试的前提,也是开发测试人员必不可少的基础技能。但是很多平台工具往往会卡在看似简单的环境部署环节,甚至影响继续下去的信心。所谓工欲善其事必先利其器,高效的搭建效率往往能提供一个好的开始,而好的开始是成功的一半!
本文将以Linux为重点搭建视角,基础环境搭建主要涉及以下方面:
- 程序运行环境:JDK、Android-SDK、Python、Go
- 容器/容器编排工具:Docker、docker-compose
- 代码管理:Git、Gitlab;
- 数据库:MySQL、MongoDB、Redis
- 代理服务器:Nginx
- 前端环境:NodeJS
- Web应用服务器:Tomcat
注:
以上部分工具的安装及使用在过往文章中有过不同程度的介绍,涉及该部分的内容将会给出文章链接,大家可以点击链接跳转查看,不再重复;
如果没有特别指代系统的,均为Linux(CentOS7)系统,Windows&Mac也会捎带提及,并特别注明;
文章重点介绍搭建过程,不会过多涉及具体使用;
另外,有很多工具使用的是脚本安装,可以通过source命令来执行脚本,如"source jdk_install.sh"而不是"./xxx.sh",这样可以避免再执行"source /etc/profile"命令来重新加载环境变量,具体原因及原理可参考《解决shell脚本中"source /etc/profile"重载配置文件不生效的问题》
编译、构建工具:gcc、make
由于很多软件如nginx、python、redis等都依赖gcc的编译以及make的打包、安装,所以把这块内容放在了最前面。关于gcc和make之间的区别与联系:
- gcc是编译器、而make不是,make是依赖于Makefile来编译多个源文件的工具,在Makefile里同样是用gcc(或者别的编译器)来编译程序;
- gcc是编译一个文件,而make是编译多个源文件的工程文件的工具。 make是一个命令工具,是一个解释makefile中指令的命令工具;
- gcc是编译工具,make是定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,也就是说make是调用gcc的;
一、GCC
GCC(GNU Compiler Collection)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库。
1.安装gcc
安装gcc(一般使用yum命令默认安装的gcc是4.8.5的版本):
yum -y install gcc-c++
安装完成后,可以通过"gcc -v"查看版本号:
2.升级gcc
千万不要以为安装完gcc就可以高枕无忧了,上述默认安装的gcc是4.8.5的版本,经过多次亲身尝试,该版本在很多软件的编辑过程中都可能会报错,需要高版本的gcc才行。可以通过如下方式升级gcc,推荐7.3版本。
yum -y install centos-release-scl # 升级到9.1版本 yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash
注意:部分软件的编译,9.3.1可能版本过高、仍然可能编译不过,可以将上述命令中的9改为8或7就可以安装激活8.x.x或7.x.x版本的gcc了
# 如果是想升级到7.3版本,则使用如下命令yum -y install centos-release-scl yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils scl enable devtoolset-7 bash
通过"gcc -v"查看版本号为7.3.1版本:
二、Make
用来维护程序模块关系和生成可执行程序的构建工具,它可以根据程序模块的修改情况重新编译链接生成中间代码或最终的可执行程序。可以理解为make就是一个gcc/g++的调度器,通过读入一个文件(默认文件名为Makefile或者makefile),执行一组以gcc/g++为主的shell命令序列。输入文件主要用来记录文件之间的依赖关系和命令执行顺序。
1.安装make
yum install -ymake
可以通过"make -v"命令验证是否安装成功,安装成功会出现如下提示:
2.升级make
如编译过程中报如下错误"These critical programs are missing or too old: make",则是因为make版本过低,需要升级make。
以升级make到4.3版本为例
① 下载解压make
wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz # 下载高版本maketar -xvf make-4.3.tar.gz # 解压后会生成make-4.3的目录
② 创建编译目录
cd make-4.3 mkdir build cd build
③ 配置编译环境
../configure --prefix=/opt/make-4.3 # 配置编译目录
④ 编译
编译成功后,make-4.3的目录下会生成一个build.sh的文件
但build.sh执行时需要依赖build.cfg文件,而build.cfg文件是生成在build目录下,因此依然需要在build目录下然后执行build.sh
cd build ../build.sh
⑤ 安装
make install make install完成后,此时/opt目录下即生成make-4.3目录及相关文件
⑥ 替换原有make
mv /usr/bin/make /usr/bin/make-3.82 cp /opt/make-4.3/bin/make /usr/bin/make make-v
查看版本,已更新为4.3
后台程序运行环境:java、python、go
一、JDK
1.下载JDK
注意事项:需提前下载好JDK安装包,并与安装脚本文件放于同一目录
JDK1.8安装包地址:https://share.weiyun.com/mKDxXd1x
JDK安装脚本地址:https://share.weiyun.com/6JMLvSyK
2.安装JDK
# 执行shell脚本,安装JDKsource jdk_install.sh
脚本内容如下,也可以新建一个jdk_install.sh文件,并复制粘贴以下内容:
cur_pass=`pwd`jdk_install_file=$cur_pass"/jdk_install_process"echo"=====`date`===start JDK install !!!!=====" >>$jdk_install_fileif [ -d"/usr/lib/jdk1.8.0_45" ];then echo"=====`date`===JDK install over !!!!=====" >>$jdk_install_fileexit0fiif [ ! -f"./jdk-8u45-linux-x64.gz" ];then echo"=====`date`===JDK install pkg not exists !!!!=====" >>$jdk_install_fileexit-1fi`tar zxf jdk-8u45-linux-x64.gz``mv jdk1.8.0_45 /usr/lib/`echo"export JAVA_HOME=/usr/lib/jdk1.8.0_45" >>/etc/profile echo"export PATH=\$PATH:\$JAVA_HOME\"/bin\"" >>/etc/profile echo"=====`date`=== JDK install SUCCESS !!!!=====" >>$jdk_install_file
3.测试是否安装成功
java -version
出现以下内容表示安装成功:
二、Android-SDK(ADB)
可参考之前的文章:《如何在Linux快速搭建一套ADB环境》
三、Python
3.1 Python3
可参考之前的文章:《Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧》
3.2 Python2
可参考之前的文章:《Linux系统自带Python2&yum的卸载及重装》
四、Go
1.安装golang运行环境
① 创建go文件夹
cd /home mkdir go
② 下载go压缩包并解压缩
https://golang.google.cn/dl/,选择对应系统下载文件
也可以通过wget命令下载:
wget https://golang.google.cn/dl/go1.19.1.linux-amd64.tar.gz tar -xvf go1.19.1.linux-amd64.tar.gz
③ 添加到环境变量
编辑/etc/profile,添加如下内容:
exportGO_HOME=/home/golang/go exportPATH=$PATH:$GO_HOME/bin
④ 重载环境变量
source /etc/profile
2.验证是否安装成功
go --help
出现以下信息表示安装配置成功:
docker环境
一、docker
Docker 是一个基于go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
1.安装docker的几种方式
1)安装最新版本docker
① 先卸载旧版本的docker
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
② 指定Docker下载源(可选,适用于首次安装)
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
③ 安装Docker(默认安装最新版本)
yum install -y docker-ce docker-ce-cli containerd.io
④ 验证是否安装成功
docker version
2)安装指定版本的docker
yum list docker-ce --showduplicates | sort-r# 查看所有可用版本yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io # 安装指定版本
3)通过脚本一键安装docker
脚本内容如下:
echo"set default docker install repo"yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo echo"install docker ..."yum install -y docker-ce docker-ce-cli containerd.io systemctl start docker systemctl status docker
2.启动docker
systemctl start docker # 启动服务systemctl status docker # 查看状态systemctl stop docker # 停止服务systemctl restart docker # 重启服务
二、docker-compose
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker多容器编排管理系统。使用 Docker-compose,可以用一个 YAML 文件定义一组要启动的容器,以及容器运行时的属性。 Docker-Compose的工程配置文件默认为docker-compose.yml
项目地址:https://github.com/docker/compose
很多项目如sonic、metersphere、流马等都提供了docker-compose.yml文件,通过docker-compose即可实现傻瓜式一键安装。
1.使用curl命令安装(推荐)
curl-L"https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)"-o /usr/local/bin/docker-compose chmod+x /usr/local/bin/docker-compose docker-compose --version
2.使用PIP安装
需提前安装Python环境
pip install -U docker-compose
代码管理
一、Git
Linux上Git的安装较为简单,通过yum命令一键安装即可,不需要配置环境变量。
yum install git-y
通过"git --version"查看版本,出现版本号即说明安装成功
[root@localhost ~]# git --versiongit version 1.8.3.1
二、Gitlab
关于Gitlab的安装部署、自动备份、仓库迁移可以查看之前分享过的《私有化代码仓库Gitlab的落地与应用》;
关于测试代码如何接入Gitlab可以查看《Gitlab的落地与应用(二)测试代码接入Gitlab实践》;
数据库:mongodb、mysql、redis
一、MongoDB
1.Windows安装mongoDB
1)下载安装包
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,可以从MongoDB官网下载安装, MongoDB 预编译二进制包下载地址:
https://www.mongodb.com/download-center/community
2)cmd命令行启动MongoDB
① 启动MongoDB
<mongodb安装目录>\bin\mongod --dbpath d:\data\db # cmd命令行启动
② 将MongoDB加入到Windows本地服务
mongod.exe --logpath d:\data\log\mongod.log --logappend--dbpath d:\data\db --serviceName MongoDB --install
此时在Windows--运行窗口输入services.msc即可查看到MongoDB服务:
3)常用命令
# cmd命令行MongoDB的常用命令 net start MongoDB # 启动MongoDB net stop MongoDB # 停用MongoDB <mong安装目录>\bin\mongod.exe --remove# 移除MongoDB
4)通过配置文件启动MongoDB
① 编辑mongodb.cfg配置文件
# mongod.cfg# for documentation of all options, see:# http://docs.mongodb.org/manual/reference/configuration-options/# Where and how to store data.storage: dbPath: D:\data\db journal: enabled: true# engine:# mmapv1:# wiredTiger:# where to write logging data.systemLog: destination: file logAppend: true path: D:\data\log\mongod.log # network interfacesnet: port: 27017 bindIp: 127.0.0.1
② 将MongoDB安装目录下bin目录添加到环境变量(一般重启电脑后生效,可以在命令行任意目录使用mongod命令)
③ 命令行进入配置文件所在目录,通过配置文件启动MongoDB服务:
mongod.exe --config mongod.cfg
5)测试连接MongoDB
mongo.exe # cmd命令行连接mongodb
连接成功后如下图所示:
2 Linux安装MongoDB
mongodb下载地址:https://share.weiyun.com/JdYq57jU
安装脚本下载地址:https://share.weiyun.com/OhTuHoI9
1)脚本方式安装
最快速的使用脚本一键安装mongodb,脚本内容如下:
# author @jigang.chen# MongoDB installecho"MongoDB install action...">>mongodb_install.log cd /home if [ -f mongodb-linux-x86_64-4.0.18.tgz ] then`tar -xzf mongodb-linux-x86_64-4.0.18.tgz`if [ -d mongodb-linux-x86_64-4.0.18 ] thenecho"unpackage success!"`mv mongodb-linux-x86_64-4.0.18 /usr/local/mongodb``mkdir -p /data/mongodb``mkdir /usr/local/mongodb/logs``touch /usr/local/mongodb/logs/mongodb.log`elseecho"unpackage failed"fielseecho"mongo file not exists"fiecho"config environment">>mogodb_install.log echo"export MONGODB_HOME=/usr/local/mongodb">>/etc/profile echo"export PATH=\$PATH:\$MONGODB_HOME\"/bin\"">>/etc/profile chmod-R777 /data/mongodb source /etc/profile echo"======mongodb install success !======">>mongodb_install.log
source mongodb_install.sh # 执行安装
2)手工方式安装
脚本安装的好处是方便快捷,手工安装的好处是可以灵活配置,自由掌控安装过程
① 下载安装包
从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:
https://www.mongodb.com/download-center/community
② 解压压缩包
tar -zxvf mongodb-linux-x86_64-4.4.0.tgz mv-r mongodb-linux-x86_64-4.4.0 /usr/local/mongodb
③ 配置环境变量
vi /etc/profile # 添加下面两行内容exportMONGODB_HOME=/usr/local/mongodb exportPATH=$PATH:$MONGODB_HOME/bin source /etc/profile # 编辑完、保存后重新加载配置文件
④ 创建数据目录和日志文件
cd /usr/local/mongodb sudomkdir-p data/db sudochmod-r777 data/db sudomkdir logs cd logs touch mongodb.log
⑤ 创建配置文件mongodb.conf
systemLog: destination: file path: /usr/local/mongodb/logs/mongodb.log logAppend: trueprocessManagement: fork: truenet: bindIp: 0.0.0.0 port: 27017setParameter: enableLocalhostAuthBypass: falsestorage: dbPath: /data/mongodb journal: enabled: true wiredTiger: engineConfig: cacheSizeGB: 4
⑥ 启动MongoDB
cd /usr/local/mongodb/bin ./mongod -f mongodb.conf
⑦ 测试连接MongoDB
mongo --port27017# 指定端口连接,默认host为127.0.0.1mongo --host192.168.1.123 --port27017# 指定host和端口连接mongo 192.168.1.123:27017 # 指定host和端口连接,同上
3 MacOS安装MongoDB
1)下载安装包
Mac系统的MongoDB的安装方式有brew和.tgz(与Linux安装方式类似)两种,本次是以.tgz包为例进行安装,所以需要先下载mongodb.tgz包。
下载地址:
https://www.mongodb.com/try/download/community
官方安装文档:
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/
2)创建日志及数据目录
cd mongodb mkdir data # 创建数据存放目录 mkdir logs # 创建日志目录 cd logs touch mongodb.log # 创建MongoDB日志输出文件
记住,一定先创建数据存放目录、日志目录及文件,否则在启动时会报各种错,如下图:
3)创建MongoDB配置文件
cd mongodb/bin vi mongodb.conf # 在bin目录下创建MongoDB配置文件
配置文件内容如下:
配置文件释义:
dbpath=/mongodb/data # 数据存放路径logpath=/mongodb/logs/mongodb.log # 日志存放路径logappend=true# 采用追加模式写入日志,默认fork=true# 是否后台启动port=27017# MongoDB端口号,默认27017,也可以改成其他journal=true# 启用日志文件,默认quiet=false# 过滤掉无用的日志信息,true表示过滤,false为调试模式,不过滤
4)配置环境变量
# 在.zprofile添加如下两行MONGODB_HOME=/mongodb exportPATH=$PATH:$MONGODB_HOME/bin source /xxx/.zprofile # 重新加载配置文件,使生效
5)启动MongoDB
.tgz的安装的启动方式有两种,一种是命令行启动,一种是指定配置文件启动
① 命令行指定日志、数据路径启动
mongod --logpath /mongodb/logs/mongodb.log --dbpath /mongodb/data --fork
② 指定配置文件启动
mongod -f mongodb.conf
启动成功后如下图所示:
6)客户端连接数据库
mongo # 不带任何参数,默认以27017端口进行连接 mongo -port27017# 指定连接端口,若服务端配置的是其他端口,则客户端连接时需指定端口号
连接成功后如图所示:
测试数据库能否正常使用,可以看到数据库连接使用正常:
二、Redis
可参考之前文章:《Windows&Linux&MacOS如何快速搭建Redis》
注意:redis-6.0.x的版本,gcc4.8.5可能会编译不过,可以通过上述提供的升级gcc的方法将gcc升级到7.3.1,再次执行编译安装。
三、MySQL
推荐使用docker的安装方式,简单快捷,一键搭建。使用起来和常规方式安装的MySQL没有什么区别,毕竟大多数只是为了让项目跑起来、能正常连接和使用MySQL,又不是测试其性能。
官网地址:https://hub.docker.com/_/mysql
# 拉取镜像,mysql后带上版本号即可下载指定版本的镜像,如mysql:5.7.33# 不带版本号默认下载最新的docker pull mysql # 运行容器# -p 端口映射,-d后台运行,--name 容器名称,-e设置root用户密码docker run -d-eMYSQL_ROOT_PASSWORD=123456--name=mymysql -p3307:3306 mysql # 进入mysql容器docker exec -it mysql sh# 登录mysqlmysql -uroot-p123456
mysql命令行操作
使用工具连接mysql数据库
代理工具:Nginx
一、Linux部署
1.下载安装nginx
推荐使用脚本方式安装,脚本内容如下:
# author by jigang.chencd /home echo"安装Nginx相关依赖环境">>nginx_install.log yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel if [ -f nginx-1.18.0.tar.gz ];then echo"解压Nginx压缩包">>nginx_install.log tar zxvf nginx-1.18.0.tar.gz elseecho"下载nginx">>nginx_install.log wget http://nginx.org/download/nginx-1.18.0.tar.gz echo"解压缩nginx">>nginx_install.log tar zxvf nginx-1.18.0.tar.gz ficd /home/nginx-1.18.0 echo"配置nginx">>nginx_install.log ./configure --prefix=/usr/local/nginx echo"make && make install">>nginx_install.log make&&make install echo"配置nginx环境变量">>nginx_install.log echo"export PATH=\$PATH:/usr/local/nginx/sbin">>/etc/profile source /etc/profile echo"======nginx install success !======">>nginx_install.log
将脚本文件和安装包放于同一目录下,执行安装:
source nginx_install.sh
2.验证是否安装成功
通过"nginx -v"命令查看版本,出现版本号说明安装成功
[root@localhost ~]# nginx -vnginx version: nginx/1.16.1
前端程序运行环境:NodeJS
一、Windows部署
Windows版下载地址(腾讯微云):
https://share.weiyun.com/2PpWyXkz
临时更换淘宝镜像源
npm--registry https://registry.npm.taobao.org install node-sass(要安装的模块)
永久更换淘宝镜像源
npm config set registry https://registry.npm.taobao.org npm config get registry # 查看是否更换成功
安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
二、Linux部署
1)下载并解压文件
node.js安装包腾讯微云下载链接:https://share.weiyun.com/fAZpTbW5
tar -xvf node-v16.17.0-linux-x64.tar.xz # 解压压缩包mv node-v16.17.0-linux-x64 node16 # 将目录名改为node16
2)配置环境变量
编辑/etc/profile,文件最后添加如下内容:
exportNODE_HOME=/home/node16 exportPATH=${PATH}:${NODE_HOME}"/bin"exportNODE_PATH=${PATH}:${NODE_HOME}"/lib/node_modules"
3)重载环境变量
source /etc/profile npm--version# 验证是否安装成功
4)配置镜像源
npm config set registry https://registry.npm.taobao.org npm config get registry # 查看是否更换成功npm install -g cnpm --registry=https://registry.npm.taobao.org # 安装cnpm
Web应用服务器:Tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。像一些如Jenkins、jira应用就需要依赖Tomcat容器。
一、Windows安装
1.下载
官网:https://tomcat.apache.org/,选择合适的版本下载即可
也可以使用腾讯微云9.0.43版本快捷下载地址:https://share.weiyun.com/AjDH6CON
2.解压
下载后,解压压缩包,会得到如下文件夹及文件
3.上传应用
随后将要运行的项目的war包上传至webapps目录下,即可通过前端页面访问,例如Jenkins的war包:
4.启动Tomcat
启动文件startup.bat在bin目录下,双击即可启动
二、Linux安装
1.下载
Linux和Windows用同一个安装包,下载下来上传到Linux服务器
2.解压
unzip apache-tomcat-9.0.43.zip
解压成功后会得到如下文件:
3.上传应用
将要运行的项目的war包上传至webapps目录下,即可通过前端页面访问,例如Jenkins的war包。
4.启动Tomcat
启动脚本在bin目录下,刚解压后的脚本没有执行权限,因此先要赋予sh脚本执行权限
cd bin # 进入bin目录chmod+x *.sh # 给bin目录下所有sh结尾的脚本赋予执行权限./startup.sh # 启动Tomcat
5.浏览器访问
总结
以上就是各个基础环境的搭建过程,包含了后台程序运行环境:java、go、python,前端程序运行环境:nodejs,数据库环境:mysql、redis、mongodb,容器运行环境:docker,编译工具:gcc、make,web应用服务器:Tomcat,代理转发工具:nginx,基本上市面上所有程序的运行都离不开这些基础环境。环境搭建是每个开发测试人员的必备技能,也是最基础的环节。
总体内容比较多,也不需要全部记住,大家可以先收藏,当做技术手册来用,后续用到的时候来翻翻、知道到哪个地方能找到就行了。