前言:
现在姐妹们对“nginx 环境变量”大体比较讲究,兄弟们都想要了解一些“nginx 环境变量”的相关内容。那么小编同时在网摘上汇集了一些有关“nginx 环境变量””的相关知识,希望朋友们能喜欢,兄弟们一起来学习一下吧!前言
不论是前面分享过的《开源云真机平台-Sonic应用实践》,还是《开源测试平台横向测评系列「流马」篇:测试界的“木牛流马”》、《一站式开源持续测试平台Metersphere》,似乎都会用到一些如JDK、ADB、MySQL、Docker、Python等各类环境,像一些前后端分离项目可能还会用到NodeJS。环境搭建是一切开发调试、编译构建、自动化测试的前提,也是开发测试人员必不可少的基础技能。但是很多平台工具往往会卡在看似简单的环境部署环节,甚至影响继续下去的信心。所谓工欲善其事必先利其器,高效的搭建效率往往能提供一个好的开始,而好的开始是成功的一半!
本文将以Linux为重点搭建视角,基础环境搭建主要涉及以下方面:
程序运行环境:JDK、Android-SDK、Python、Go容器/容器编排工具:Docker、docker-compose代码管理:Git、Gitlab;数据库:MySQL、MongoDB、Redis代理服务器:Nginx前端环境:NodeJSWeb应用服务器: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 -y make
可以通过"make -v"命令验证是否安装成功,安装成功会出现如下提示:
2.升级make
如编译过程中报如下错误"These critical programs are missing or too old: make",则是因为make版本过低,需要升级make。
以升级make到4.3版本为例
① 下载解压make
wget # 下载高版本maketar -xvf make-4.3.tar.gz # 解压后会生成make-4.3的目录② 创建编译目录
cd make-4.3mkdir buildcd 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.82cp /opt/make-4.3/bin/make /usr/bin/make
make -v
查看版本,已更新为4.3
后台程序运行环境:java、python、go一、JDK1.下载JDK
注意事项:需提前下载好JDK安装包,并与安装脚本文件放于同一目录
JDK1.8安装包地址:
JDK安装脚本地址:
2.安装JDK
# 执行shell脚本,安装JDKsource jdk_install.sh
脚本内容如下,也可以新建一个jdk_install.sh文件,并复制粘贴以下内容:
#!/bin/bashcur_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_file exit 0fiif [ ! -f "./jdk-8u45-linux-x64.gz" ];then echo "=====`date`===JDK install pkg not exists !!!!=====" >>$jdk_install_file exit -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/profileecho "export PATH=\$PATH:\$JAVA_HOME\"/bin\"" >>/etc/profileecho "=====`date`=== JDK install SUCCESS !!!!=====" >>$jdk_install_file3.测试是否安装成功
java -version
出现以下内容表示安装成功:
二、Android-SDK(ADB)
可参考之前的文章:《如何在Linux快速搭建一套ADB环境》
三、Python3.1 Python3
可参考之前的文章:《Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧》
3.2 Python2
可参考之前的文章:《Linux系统自带Python2&yum的卸载及重装》
四、Go1.安装golang运行环境
① 创建go文件夹
cd /homemkdir go
② 下载go压缩包并解压缩
,选择对应系统下载文件
也可以通过wget命令下载:
wget -xvf go1.19.1.linux-amd64.tar.gz
③ 添加到环境变量
编辑/etc/profile,添加如下内容:
export GO_HOME=/home/golang/goexport PATH=$PATH:$GO_HOME/bin
④ 重载环境变量
source /etc/profile2.验证是否安装成功
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-utilsyum-config-manager --add-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
脚本内容如下:
#!/bin/bashecho"set default docker install repo"yum install -y yum-utilsyum-config-manager --add-repo ;install docker ..."yum install -y docker-ce docker-ce-cli containerd.iosystemctl start dockersystemctl 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
项目地址:
很多项目如sonic、metersphere、流马等都提供了docker-compose.yml文件,通过docker-compose即可实现傻瓜式一键安装。
1.使用curl命令安装(推荐)
curl -L "(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-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
可参考之前的文章:《测开必备技能之MongoDB的安装(Windows&Linux&MacOS)》
二、Redis
可参考之前文章:《Windows&Linux&MacOS如何快速搭建Redis》
注意:redis-6.0.x的版本,gcc4.8.5可能会编译不过,可以通过上述提供的升级gcc的方法将gcc升级到7.3.1,再次执行编译安装。
三、MySQL
推荐使用docker的安装方式,简单快捷,一键搭建。使用起来和常规方式安装的MySQL没有什么区别,毕竟大多数只是为了让项目跑起来、能正常连接和使用MySQL,又不是测试其性能。
官网地址:
# 拉取镜像,mysql后带上版本号即可下载指定版本的镜像,如mysql:5.7.33# 不带版本号默认下载最新的docker pull mysql# 运行容器# -p 端口映射,-d后台运行,--name 容器名称,-e设置root用户密码docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name=mymysql -p 3307:3306 mysql# 进入mysql容器docker exec -it mysql sh# 登录mysqlmysql -uroot -p123456
mysql命令行操作
使用工具连接mysql数据库
代理工具:Nginx一、Linux部署1.下载安装nginx
安装包下载地址:
脚本下载地址:
推荐使用脚本方式安装,下载链接是1.8.0的版本,如果安装其他版本,则把脚本内版本号改为对应版本号即可。脚本内容如下:
#!/bin/bash# author by jigang.chencd /homeecho "安装Nginx相关依赖环境">>nginx_install.logyum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-develif [ -f nginx-1.18.0.tar.gz ];then echo "解压Nginx压缩包">>nginx_install.log tar zxvf nginx-1.18.0.tar.gzelse echo "下载nginx">>nginx_install.log wget echo "解压缩nginx">>nginx_install.log tar zxvf nginx-1.18.0.tar.gzficd /home/nginx-1.18.0echo "配置nginx">>nginx_install.log./configure --prefix=/usr/local/nginxecho "make && make install">>nginx_install.logmake&&make installecho "配置nginx环境变量">>nginx_install.logecho "export PATH=\$PATH:/usr/local/nginx/sbin">>/etc/profilesource /etc/profileecho "======nginx install success !======">>nginx_install.log
将脚本文件和安装包放于同一目录下,执行安装:
source nginx_install.sh2.验证是否安装成功
通过"nginx -v"命令查看版本,出现版本号说明安装成功
[root@localhost ~]# nginx -vnginx version: nginx/1.16.1前端程序运行环境:NodeJS一、Windows部署
Windows版下载地址(腾讯微云):
临时更换淘宝镜像源
npm --registry install node-sass(要安装的模块)永久更换淘宝镜像源
npm config set registry config get registry # 查看是否更换成功安装cnpm
npm install -g cnpm --registry=二、Linux部署1)下载并解压文件
node.js安装包腾讯微云下载链接:
tar -xvf node-v16.17.0-linux-x64.tar.xz # 解压压缩包mv node-v16.17.0-linux-x64 node16 # 将目录名改为node162)配置环境变量
编辑/etc/profile,文件最后添加如下内容:
export NODE_HOME=/home/node16export PATH=${PATH}:${NODE_HOME}"/bin"export NODE_PATH=${PATH}:${NODE_HOME}"/lib/node_modules"3)重载环境变量
source /etc/profilenpm --version # 验证是否安装成功4)配置镜像源
npm config set registry config get registry # 查看是否更换成功npm install -g cnpm --registry= # 安装cnpmWeb应用服务器:Tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。像一些如Jenkins、jira应用就需要依赖Tomcat容器。
一、Windows安装1.下载
官网:,选择合适的版本下载即可
也可以使用腾讯微云9.0.43版本快捷下载地址:
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 # 启动Tomcat5.浏览器访问
总结
以上就是各个基础环境的搭建过程,包含了后台程序运行环境:java、go、python,前端程序运行环境:nodejs,数据库环境:mysql、redis、mongodb,容器运行环境:docker,编译工具:gcc、make,web应用服务器:Tomcat,代理转发工具:nginx,基本上市面上所有程序的运行都离不开这些基础环境。环境搭建是每个开发测试人员的必备技能,也是最基础的环节。
总体内容比较多,也不是每个都会用到,所以也不需要全部记住。大家可以先收藏,当做技术手册来用,后续用到、想不起来的的时候来翻翻,知道怎样解决问题就行了。
标签: #nginx 环境变量