1.简介

我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全、灵活小巧,特别是前几年的勒索病毒,现在绝大多数的服务器都是Linux系统,因此就需要我们在Linux系统上安装JMeter。因此,宏哥今天讲解和分享学习下如何在Linux下安装Jmeter,因为Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。宏哥这里安装的安装包都是在线下载安装包,而不是从Windows系统下载好安装包,然后再上传到Linux系统中,最后解压安装,因此宏哥这种方法适合懒人,当然了勤奋的人那就更适合了哈。

2.查看是否安装好JDK

首先我们需要在Linux系统上安装JDK,因为Jmeter是JAVA语言开发的。有时候Linux系统的虚拟机默认已经安装的JDK,不过是1.4版本或者其他版本,但是由于我们用的Jmeter版本和JDK的版本相匹配才能使用,所以我们先卸载之前的JDK(不卸载也行),再重新安装JDK并配置环境变量。

2.1检查Linux系统中JDK版本

第一种方法:依次输入 java -version、java、javac,不会出现报错并且显示出 jdk版本号及 java/javac相关命令参数说明界面。

[admin@oftpclient202 ~]$ java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
[admin@oftpclient202 ~]$ java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the "server" VM
The default VM is server. -cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
Warning: this feature is deprecated and will be removed
in a future release.
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
Warning: this feature is deprecated and will be removed
in a future release.
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
[admin@oftpclient202 ~]$ javac
Usage: javac <options> <source files>
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath <path> Specify where to find user class files and annotation processors
-cp <path> Specify where to find user class files and annotation processors
-sourcepath <path> Specify where to find input source files
-bootclasspath <path> Override location of bootstrap class files
-extdirs <dirs> Override location of installed extensions
-endorseddirs <dirs> Override location of endorsed standards path
-proc:{none,only} Control whether annotation processing and/or compilation is done.
-processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process
-processorpath <path> Specify where to find annotation processors
-parameters Generate metadata for reflection on method parameters
-d <directory> Specify where to place generated class files
-s <directory> Specify where to place generated source files
-h <directory> Specify where to place generated native header files
-implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files
-encoding <encoding> Specify character encoding used by source files
-source <release> Provide source compatibility with specified release
-target <release> Generate class files for specific VM version
-profile <profile> Check that API used is available in the specified profile
-version Version information
-help Print a synopsis of standard options
-Akey[=value] Options to pass to annotation processors
-X Print a synopsis of nonstandard options
-J<flag> Pass <flag> directly to the runtime system
-Werror Terminate compilation if warnings occur
@<filename> Read options and filenames from file [admin@oftpclient202 ~]$

第二种方法:输入命令:rpm -qa | grep java,这里可能检查到的JDK是1.4,系统默认安装的;有些可能搭建JAVA环境,查询出来是1.7,或者查询不到,都没关系。

[admin@bbajit202 ~]$ rpm -qa|grep java
java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el8_2.x86_64
javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
tzdata-java-2020a-1.el8.noarch
java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2.x86_64
[admin@bbajit301 ~]$

从上边可以看出宏哥已经安装好了JDK。如果没有安装好JDK的童鞋或者小伙伴们可以参考宏哥的另一篇文章进行安装,同样是在Linux系统直接下载安装包,解压安装:传送门。

2.2卸载JDK

输入命令:rpm -e --nodeps + 上边命令查到的jdk安装包名字   开始卸载,卸载完成再查看已没有。

[admin@oftpclient202 ~]$ rpm -qa|grep java
[admin@oftpclient202 ~]$

3.宏哥环境

1.查看Linux环境输入命令:lsb_release -a

[admin@oftpclient202 ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009

2.查看JDK环境命令:java -version

[admin@oftpclient202 ~]$ java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
[admin@oftpclient201 ~]$

4.下载Jmeter安装包

4.1安装包地址

1.Jmeter是开源的工具,我们直接到官网下载即可,本次安装的版本是 5.4(宏哥一般都是安装最新的,除非有特殊要求)。

最新版本下载地址:https://jmeter.apache.org/download_jmeter.cgi
历史版本下载地址:https://archive.apache.org/dist/jmeter/binaries/

下载后缀为 .tgz 或 .zip 都是可以的,我们可以在Linux通过 wget 命令下载Jmeter安装包,或者下载后再传到Linux。

我这里下载的安装包版本是 :apache-jmeter-5.4.tgz  。

4.2Linux下载安装包

Windows下载Jmeter安装包宏哥在这里就做赘述了,直接点击就可以下载,宏哥在这里说一下Linux如何下载Jmeter安装包。

1.wget下载Jmeter安装包

方法:wget+安装包下载链接(选中安装包右键,点击复制链接地址),如下图所示:

2.在Linux系统运行命令:wget+安装包下载链接 ,如下图所示:

4.3查看安装包大小

有了上次安装JDK的经验,宏哥首先看一下是否真的下载成功,不要向上一次安装JDK一样,拷贝过去解压的时候才发现下载的安装包不完整(下载不成功)查看安装包大小,如下图所示:

从上图中我们可以看出安装包大小和下载页面显示的安装包大小差不多,说明安装包下载成功。那么下一步便是在准备安装的目录将此安装包解压。

5.解压安装包

创建一个文件夹,用于存放Jmeter安装包,然后解压到该目录下。

创建文件夹:mkdir -p /usr/SoftWare/Jmeter
进入文件夹:cd /usr/SoftWare/Jmeter
将下载好的压缩文件剪贴到创建好的文件夹下:mv apache-jmeter-5.4.tgz /usr/SoftWare/Jmeter
解压:tar -zxvf /usr/SoftWare/Jmeter/apache-jmeter-5.4.tgz

可以看到,本次解压到了目录 /usr/SoftWare/Jmeter/apache-jmeter-5.4下。

6.配置环境

解压完成之后,我们要配置下环境变量,通过 vi 命令修改配置文件 /etc/profile 来设置环境变量。

vi /etc/profile

1.在Linux系统终端输入上边的命令行,进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!如下图示:

2.输入 G 到文件最后一行,输入 i 进入编辑模式,添加以下内容,然后按 Esc 退出编辑模式,再输入 :wq 保存并退出。

#Jmeter环境变量配置
export JMETER_HOME=/usr/SoftWare/Jmeter/apache-jmeter-5.4
export PATH=${JMETER_HOME}/bin:$PATH

添加完成,如下图所示:

3.查看编辑保存是否成功,vi /etc/profile,再次进入vi的一般模式,输入G到文件最后一行,可以查看到宏哥刚刚配置JMeter环境变量添加的内容,如下图所示:

4.查看JMeter的环境变量是否配置成功,输入命令:jmeter -version,如下图所示:

从上图可以看出还没有配置成功。这个是因为环境变量还没有生效了。

5.设置完之后,如果要使环境变量立即生效,需要通过输入命令:source /etc/profile,重新加载配置文件。最后,通过 jmeter --version 查看安装的Jmeter版本,验证安装成功。

OK,出现上图界面恭喜你,到这里,大功告成,Jmeter已经安装完成,你就可以开始使用了!

7.小结

1.Linux通过wget命令下载安装包的时候,宏哥这个觉得有点慢时间有点长(可能宏哥的网速引起的吧),着急的童鞋和小伙伴们可以用Windows下载然后上传到Linux系统中。

2.细心的童鞋或者小伙伴们可能已经发现在验证环境变量输入命令在version前边注意是两个中划线(-)。懒人妙招:输入:jmeter -v  即可。

3.这里宏哥为啥不用vim而是用vi了,宏哥告诉你哈,宏哥用了但是不幸的是宏哥的Linux系统没有安装vim,所以宏哥就偷懒了一下。直接用系统自带的vi了。看看宏哥用Vim后,Linux系统提示如下图所示:

那为什么Vi可以而Vim就不可以了,那是因为宏哥的这个Linux系统没有安装Vim。我这么空口白牙一说,有些较真的小伙伴或者童鞋们可能不相信。那宏哥就让你看一下。
一般我们Linux系统中执行的命令都在bin目录下,宏哥带你看一下bin目录下以字母V开头的所有文件,能查看到vi,却看不到vim,如下图所示:

其次还有一个原因就是宏哥的登录Linux系统的用户身份现在不是root而是admin。一般来说安装这种命令都需要在root用户登录。不信的小伙伴后者同学们可以看下,如下图所示:

从上图可以看出需要root用户登录才可以安装vim,那宏哥在这里就切换一下用户到root,输入命令:su - ,然后继续安装vim,如下图所示:

切换到root后,安装vim,输入命令: yum install vim ,如下图所示:

中间输入Y(为了避免中间输入Y,可以输入命令:yum install -y vim),最后vim安装成功。宏哥再带童鞋们或者小伙伴们去bin目录查看下是否有vim,如下图所示:

然后我们就可以用vim了,这次编辑输入:vim /etc/porfile,就不会报错了,如下图所示:

8.拓展

linux的命令行前面的root@linux~ #中的每个部分代表什么意思?

"root":表示当前的登录的用户

"@":可以理解为是一个分隔符号

"linux":应该是你的主机名

"~":表示你当前所在的目录

"#":表示你当前登录用户的身份是root超级用户

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

8.1什么是 vim?

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim 键盘图:


8.2vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

8.2.1命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

8.2.2输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式
8.2.3底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

8.3Vim/Vi工作模式图形总结

简单的说,我们可以将这三个模式想成底下的图标来表示:

8.4linux文件颜色代表的含义

在linux中,不同颜色的文件代表不同的含义,下面是linux中不同颜色的文件代表的含义:

# 白色:普通的文件
# 蓝色:目录
# 绿色:可执行的文件
# 红色:压缩文件或者包文件
# 青色:连接文件
# 黄色:设备文件
# 灰色:其他的文件

Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)的更多相关文章

  1. Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    1.简介 我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的.这里由于服务器各种安全机制的限制和校验,因此我们不得不欺骗一下服务器,今天宏哥就给大家 ...

  2. Jmeter(五十) - 从入门到精通高级篇 - jmeter 之模拟弱网进行测试(详解教程)

    1.简介 在实际工作中,网络带宽一定不会是持续稳定的保持某一个值,而是有高有低.因此为了测试场景和实际能够无限的接近,所以我们需要模拟一下来达到效果.还有就是在实际的测试工作中,会因为业务需要,有时限 ...

  3. Jmeter(五十一) - 从入门到精通高级篇 - jmeter之运动战(详解教程)

    1.简介 运动战是一种军事作战方式,依托较大的作战空间来换取时间移动兵力包围敌方,以优势兵力速战速决,运动战的运用归为这样一段话"避敌主力,诱敌深入,集中优势兵力逐个击破".今天宏 ...

  4. Jmeter(四十七) - 从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

  5. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...

  6. 『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本

    目录 1.Linux系统中安装Java环境 (1)解压Java安装包 (2)配置Java环境变量 (3)验证Java环境是否配置成功 2.Linux系统中安装JMeter (1)下载JMeter (2 ...

  7. Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)

    1.简介 这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下. 2.什么是远程运行? 远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一 ...

  8. Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

    1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...

  9. Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)

    1.简介 上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能. 2.准备工作 文章标题中提到jmeter和tomcat,那么只需 ...

随机推荐

  1. QGIS源码编译步骤详解——官方新方案

    目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译   方案详细可见源码文件中INSTALL.md. 源码下载   QG ...

  2. 为什么说TCP协议是可靠的?

    TCP 实现可靠通信的两种方式 我们都知道 IP 协议是"不太靠谱".因为 IP 协议是不可靠的,所以 IP 数据包可能在传输过程中发生错误或者丢失.这就意味着,TCP 协议不得不 ...

  3. 【面试普通人VS高手系列】Spring Boot的约定优于配置,你的理解是什么?

    对于Spring Boot约定优于配置这个问题,看看普通人和高手是如何回答的? 普通人的回答: 嗯, 在Spring Boot里面,通过约定优于配置这个思想,可以让我们少写很多的配置, 然后就只需要关 ...

  4. NodeJS学习日报day4——模块化

    // console.log(module); // 执行顺序不同,结果也不同 // module.exports = { // name : 'Cra2iTeT', // hi() { // con ...

  5. git 将本地文件推送到远程分支的分支

    1.  新建文件夹复制远程分支 2. 切换到远程分支 3. 推送到远程 添加到暂存区,先运行 " git add . " 查看文件状态                     在运 ...

  6. java中int的最值解析

    java中int的最大值为十进制的2147483647,也就是java能进行操作的最大数值,超出就会显示不正常.针对以下问题进行讨论. 1.最大值为什么是2147483647? java中int类型占 ...

  7. CentOS8 AnolisOS8 yum安装 No match for argument: htop Error: Unable to find a match: htop

    这里写自定义目录标题 CentOS8 AnolisOS8 yum安装失败 安装失败原因 阿里云官方镜像主页 正确的操作步骤 学习交流 My Blog 技术交流 CentOS8 AnolisOS8 yu ...

  8. Java基础语法Day_07(1-3 常用API第一部分)

    常用API第一部分 第1节 Scanner类         day07_01_API概述和使用步骤(使用最基本的三个步骤 搜索 构造方法  方法) day07_02_Scanner概述及其API文档 ...

  9. /proc/meminfo 解释

  10. 企业实战|基于Cobbler实现多版本系统批量部署

    前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的.记得前面我们探究了基于PXE实现系统全自动 ...