虚拟机中Linux下安装JDK、Tomcat
目录
1 Linux安装JDK 1
1.1 安装JDK 1
1.1.1进入linux 获得管理员权限用户。 1
1.1.2 查看本机自带JDK 1
1.1.3删除本机自带JDK 1
1.1.4在本地安装JDK1.8 2
1.1.5 解压缩并配置环境变量 2
1.1.6 配置JDK全局变量 4
1.1.7 检查是否配置成功 5
2 Linux安装Tomcat 6
2.1 下载Tomcat 6
2.2 安装并配置 7
2.3 打开Tomcat服务器并运行 8
2.4 查看服务器是否配置成功 9
3 JDK、Tomcat技术原理 10
3.1 JDK在不同操作系统的工作方式 10
3.1.1 JDK工作原理 10
3.1.2 Windows下运行java 12
3.1.3 Linux下运行java 12
3.2 Tomcat工作原理 13
3.2.1 Windows下部署服务器 13
3.2.2 Linux下部署服务器 15
3.3 两者其他相同点 16
3.4 两者其他不同点 17
4 JDK、Tomcat的应用 18
4.1 JDK的应用场所 18
4.2 Tomcat的应用场所 18
参考文献: 19
1 Linux安装JDK
1.1 安装JDK
一般初始安装Linux后会自带JDK,我们需要将它卸载。
1.1.1进入linux 获得管理员权限用户。
查看本机默认JDK版本 java -version
发现有1.7在本机上。
1.1.2 查看本机自带JDK
输入命令 rpm -qa | grep java 可以查看JDK安装文件的相关信息。
rpm 管理套件
-qa 使用询问模式,查询所有套件
grep 查找文件里符合条件的字符串
java 查找包含java字符串的文件
1.1.3删除本机自带JDK
输入:
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
这两条命令是去除本机JDk
结果如下:
这时候,本机自带的jdk已删除,接着安装新的JDK
1.1.4在本地安装JDK1.8
下载好后的JDK默认放在当前用户的下载目录。
右击打开终端,查看当前目录文件详细信息 ls -all,查看当前目录:pwd。这两个下面将会用到。
修改权限:[root@localhost 下载]#chmod 755 jdk-linux-x64.tar.gz
1.1.5 解压缩并配置环境变量
将下载好的JDK复制到 /usr/java 下 可以使用命令:
[root@localhost 下载]# cp jdk-linux-x64.tar.gz /usr/java/
接着在进行解压缩处理:
[root@localhost java]# tar -zxvf jdk-linux-x64.tar.gz (z指gz文件、x是解压、-v :压缩的过程中显示文件、f指定文件):
将当前文件夹的压缩包删除:
[root@localhost java]#rm -f jdk-linux-x64.tar.gz
进入全局变量编辑:
[root@localhost java]#vim /etc/profile。
Vim:文本编辑 /etc/profile:全局变量文件。进入文本编辑状态下,光标走到文件最后一行,键盘按下:i(小写字母)。
此时,处于编辑状态。在文本的最后一行:
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH= JAVAHOME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin
这段程序的意思是:配置JAVA_HOME 环境变量 目标指向/usr/java/jdk1.8.0_131,并配置类路径CLASSPATH 基于JAVA_HOME路径下的jre/lib/rt.jar 、dt.jar、tools.jar。路径为:JAVA_HOME下的bin目录下。
输入完成后,在键盘上输入 shift+: 然后输入 wq! 保存并离开。
配置了 java_home 等需要的类库文件。
然后,刷新缓存,配置生效。
[root@localhost 桌面]# source /etc/profile
1.1.6 配置JDK全局变量
提示:有的用户安装好JDK后,必须频繁source /etc/peofile 才能使配置文件生效,这里做一下简单配置:
[root@localhost etc]# vim bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH= JAVAHOME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin
接着按 i(小写)编辑,然后按 esc 接着输入 shift+: ,接着输入wq! 完成编辑保存并退出。
然后
[root@localhost etc]# source /etc/bashrc
刷新资源。即使全局配置文件生效,在哪个地方都可用。
1.1.7 检查是否配置成功
输入命令:java
[root@localhost bin]#java
显示如下:
输入命令:javac
[root@localhost bin]#javac
显示如下:
输入命令:java -version
[root@localhost bin]# java -veriosn
显示如下,表示成功!
自此,JDK安装完成。
2 Linux安装Tomcat
Tomcat是基于JDK运行环境的,所以,JDK安装好后,就可以安装Tomcat。只有在JDK在本机环境中没有任何问题的条件下,才能启动Tomcat
2.1 下载Tomcat
访问Tomcat官网。https://tomcat.apache.org 如图1所示。
图 1
图片不太清楚,这里简要说明。
tar.gz:Linux环境下的压缩包,免安装
Windows.zip:Windows压缩包,免安装,解压即用,同时注意根据自己电脑是64位系统还是32位系统下载对应的压缩包
Windows Service Installer:Windows安装包,32位和64位版本的Windows系统都适用。
选择tar.gz 结尾的文件。这个文件格式是linux下的压缩包。如何你需要开发更多的功能,可以选择 开发者包。当然你还想需要更多的功能,可以选择源码下载。
这个就是tomcat的压缩版。
2.2 安装并配置
把下载好的Tomcat压缩包复制到 /usr/tomcat 目录下:
[root@localhost下载]#cp apachetomcat8.5.tar.gz /usr/tomcat
获得所有权:
[root@localhost tomcat]#chmod 777 apachetomcat8.5.tar.gz
解压这个压缩包:
[root@localhost tomcat]#tar -zxvf apachetomcat8.5.tar.gz
得到的解压缩后的文件:
删除原有的压缩包:
[root@localhost tomcat]#rm -f apachetomcat8.5.tar.gz
有写用户解压后无法访问,这是权限不够导致的,解决方案是:
[root@localhost tomcat]# sudo chmod -R 777 apache-tomcat-8.5.8/
2.3 打开Tomcat服务器并运行
先到tomcat的目录:cd /usr/bin
输入命令:
[root@localhost bin]# ./startup.sh
接着显示如下信息:
Using CATALINA_BASE: /usr/tomcat/apache-tomcat-8.5.8
Using CATALINA_HOME: /usr/tomcat/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.8/temp
Using JRE_HOME: /usr/java/jdk1.8.0_131
UsingCLASSPATH: /usr/tomcat/apache-tomcat-8.5.8/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.8/bin/tomcat-juli.jar
Tomcat started.
注意,没有获得管理员权限的用户的先进入管理员权限!
[thunder@localhost bin]$ su
密码(输入密码)
这样就进入管理员权限下。
2.4 查看服务器是否配置成功
打开浏览器输入: http://127.0.0.1:8080/
自此,Tomcat服务器配置完成。
3 JDK、Tomcat技术原理
3.1 JDK在不同操作系统的工作方式
3.1.1 JDK工作原理
JDK:JSun公司开发的,JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
它的基本组成:
javac 编译器,将源程序转成字节码
jar 打包工具,将相关的类文件打包成一个文件
javadoc 文档生成器,从源码注释中提取文档
jdb – debugger debugger,查错工具
java 运行编译后的java程序(.class后缀的)
appletviewer 小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah 产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole Java进行系统调试和监控的工具
jdk结构图
这些功能组成了JDK的基本架构。它是以虚拟机的形式运行在操作系统上的。这样一来,就“屏蔽”了操作系统。不论在什么操作系统上,它都会同样的运行出一样的效果。即一次编译,处处运行。java语言的跨平台性,保证了它的稳定性好。正因为这样,java所有的生态链的东西,蓬勃的发展。那么windows和linux就保证了一致性。具体的运行流程如下:
一个源程序经过编译后,产生了不同的机器码,即在windows与linux。这是JVM的功劳。
java.exe 是 java class 文件的执行程序,但实际上 java.exe 程序只是一个执行的外壳,它会装载 jvm.dll ( windows 下) linux 下和 solaris 下其实类似,为:libjvm.so,这个动态连接库才是 java 虚拟机的实际操作处理所在。
3.1.2 Windows下运行java
来看如下实例:
Windows:
E盘新建Test.java
代码如下:
public class Test{
public static void main(String[] args){
System.out.println(“Hello World”);
}
}
用javac编译源码得到字节码:
Test.class
运行如下:
3.1.3 Linux下运行java
那么把 这个字节码移植到Linux下:
接着输入命令:
[root@localhost 文档]# javac Test.java
[root@localhost 文档]# java Test
输出 Hello World
备注:如何让本地虚拟机访问到本机的共享文件夹或磁盘。
首先安装VMware Tools工具
VMwareTools-9.6.0-1294478.tar.gz
解压压缩包:
[root@localhost data]# tar -zxvf VMwareTools-9.6.0-1294478.tar.gz
得到文件夹
计入,打开并执行命令:
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
或者使用:
[root@localhost data]#yum install -y open-vm-tools
都可以。然后在/mnt/ 下有个hgfs文件夹,这个文件夹就是linux挂载额外设备的地方。
接着就可以访问本机文件。
通过以上实例,可以得知,JDK的平台无关性。
3.2 Tomcat工作原理
3.2.1 Windows下部署服务器
我们再来看看Tomcat的情况。
我们在windows下建立一个WEB程序。并打包。
如下实例,计算一个三角形的面积程序。输入三条边计算。
Index.jsp:
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
计算 <% String sizeA = request.getParameter("sizeA"); String sizeB = request.getParameter("sizeB"); String sizeC = request.getParameter("sizeC"); try { double a = Double.parseDouble(sizeA); double b = Double.parseDouble(sizeB); double c = Double.parseDouble(sizeC); double p = (a + b + c) / 2, area = 0; area = Math.sqrt(p * (p - a) * (p - b) * (p - c)); out.println("
三角形面积" + area); }catch (NumberFormatException e){ out.print("
请输入字符"); } %> Computer.jsp: <%@ page contentType="text/html;charset=UTF-8" language="java" %> 计算 <% String sizeA = request.getParameter("sizeA"); String sizeB = request.getParameter("sizeB"); String sizeC = request.getParameter("sizeC"); try { double a = Double.parseDouble(sizeA); double b = Double.parseDouble(sizeB); double c = Double.parseDouble(sizeC); double p = (a + b + c) / 2, area = 0; area = Math.sqrt(p * (p - a) * (p - b) * (p - c)); out.println("
三角形面积" + area); }catch (NumberFormatException e){ out.print("
请输入字符"); } %>
在IDE中将此打包为war包(HomeWork.war)。放在Tomcat下运行。
运行的结果是:
点击提交按钮之后:
到此,这是windows下的运行效果。
3.2.2 Linux下部署服务器
我们再把,它放在Linux下运行。
然后,打开浏览器输入:
http://127.0.0.1:8080/HomeWork /request/3-1/index.jsp
显示如下界面:
让后点击提交:
显示面积为24
综上,在不同的操作系统上,JDK、Tomcat都能以同样的姿态运行在目标机器上面。
这就是它的强大之处。然而,JDK在其他方面例如底层设计的时候,考虑到以下几点:
3.3 两者其他相同点
源代码可移植性
作为一种编程语言,JAVA提供了一种最简单同时也是人们最熟悉的可移植性–源代码移植。这意味着任意一个JAVA程序,不论它运行在何种CPU、操作系统或JAVA编译器上,都将产生同样的结果。那么Tomcat运行在JDK之上,那么它的特性也伴随着JDK。在设计的时候严格定义,如:未初始化变量的值、对已释放的内存的存取、浮点运算的尾数值等等。另外,JAVA对程序的行为的定义严格,使用内存自动回收功能(Garbage Collection),使程序不能访问越界内存;它对未初始化的变量提供确定值等等。
CPU可移植性
大多数编译器产生的目标代码只能运行在一种CPU上(如Intel的x86系列),即使那些能支持多种CPU的编译器也不能同时产生适合多种CPU的目标代码。如果你需要在三种CPU(如x86、SPARC和MIPS)上运行同一程序,就必须编译三次。 但JAVA编译器就不同了。JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU–JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU.JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。当今主流的操作系统如OS/2、MacOS、Windows95/NT都已经或很快提供对J-Code的支持。然而,将源程序编译为J-Code的好处在于可运行于各种机器上,而缺点是它不如本机代码运行的速度快。
操作系统可移植性
JAVA采用了提供一套与平台无关的库函数(包括AWT、UTIL、LANG等等)的方法来解决这个问题。就象JVM提供了一个虚拟的CPU一样,JAVA库函数提供了一个虚拟的GUI环境。JAVA程序仅对JAVA库函数提出调用,而库函数对操作系统功能的调用由各不同的虚拟机来完成。JAVA也在它的OS/GUI库中使用了一种“罕见名称符”(least-commom-denominator)来提供对某种特定操作系统的功能调用,即此功能只在特定环境下生效而在其它操作系统下则被忽略。
3.4 两者其他不同点
在其他设计之处的不同:
FileSystem类
JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件系统,比如 Windows NT/2000 操作系统则为 WinNTFileSystem,而 unix-like 操作系统为 UnixFileSystem。
需要注意的一点是,WinNTFileSystem类 和 UnixFileSystem类并不是在同一个 JDK 里面,也就是说它们是分开的,你只能在 Windows 版本的 JDK 中找到 WinNTFileSystem,而在 unix-like 版本的 JDK 中找到 UnixFileSystem,同样地,其他操作系统也有自己的文件系统实现类
4 JDK、Tomcat的应用
4.1 JDK的应用场所
1、安卓应用(APP)
打开你的安卓手机和任何一款App,它们是使用Java语言,基于GoogleAPI(和JDK类似)开发的。安卓使用不同的Java虚拟机、不同的包,但是代码仍是用Java写的。
2、金融业服务器的应用
在金融服务中Java有很重要的作用。很多银行使用Java来开发前台和后台电子交易系统,提供解决方案和确认系统以及数据处理项目等等。
3、Java Web应用
Java在电子商务和Web应用领域也是有很多的应用。现在有很多使用Spring MVC、Structs2.0、SpringBoot、SpringCloud和类似框架开发的RESTful风格的服务。甚至建一个简单的依赖SSM框架开发的Web应用在各行各业很受欢迎。
4、嵌入式领域
在嵌入式领域,Java也是有很大应用的。你只需要很小的存储空间就可以操控例如洗衣机、空调、微波炉等。
5、大数据技术
Hadoop和其他大数据技术以这样的或那样的方式使用者Java,例如Apache依赖Java的HBse和Accumulo(开源)以及ElasticSearch。
4.2 Tomcat的应用场所
1、WEB服务器应用
大都数中小型企业的服务器都用的是Tomcat。它的高性能获得大众的青睐。笔者在今年的寒假期间,发现的“淮上通”后台服务器是Tomcat,以及“学习通”后台也是Tomcat服务器。可见它的应用之广。
2、个人及学习
像这种开源的服务器,最适合初学者以及开发人员的调试。
虚拟机中Linux下安装JDK、Tomcat相关推荐
- linux下安装jdk+tomcat+eclipse+mysql
linux下安装jdk+tomcat+eclipse+mysql 这个星期一部门老大忽然冒出一句:"小祝,你对linux怎么样啊,用过没?",于是俺就老实的回答:"在学校 ...
- linux 部署java的胡那就,心得之:linux下安装jdk tomcat oracle10g
最近一直在研究linux环境的操作,其实之前一直没有实际需求要用到linux,因项目需要,突然接受,显得很局促和苦闷,因我对linux的操作太不熟悉了,基本命令使用起来都很苦逼.现在突然需要搭建lin ...
- Linux下安装JDK,Tomcat,Mysql详细教程
1. 概述 今天教大家在linux下安装jdk,mysql以及tomcat.在javaweb开发中,最后完成的项目代码,一般都是布在linux服务器下的.因为linux服务器可以说是安全性稳定性都比w ...
- linux jdk1.7 tomcat mysql_RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程
RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程记录: tar -zxvf jdk-7u3-linux-i586.tar.gz /解压gz文件 rpm ...
- Linux下安装JDK笔记与Linux安装Tomcat笔记
项目需要,又要折腾Linux了,使用了VMware装一下linux,配置java运行环境,首先是配置JDK... OS:CentOS 64bit 一:到Oracle下载最新版的JDK http://w ...
- linux上安装java失败,Linux下安装jdk失败怎么办
有时出于需要(比如安装最新的eclipse),我们需要安装指定版本的JDK.然而,安装完成之后,再次键入命令查询JDK版本却发现版本号没有更新.那么,这应该如何解决呢?下面就让学习啦小编教大家Linu ...
- Linux下安装jdk
不需要删除旧的jdk,安装新版本的jdk,再更新环境变量即可. Linux下安装jdk,步骤如下 1:下载jdk包:如jdk-8u111-linux-x64.tar.gz 2: 把jdk文件保存至Li ...
- linux下安装jdk, mysql,tomcat等application示例,并且开启MySQL远程访问权限
Linux软件安装 jdk,mysql,tomcat 软件安装:软件在阿里云盘下载:30天内有效,如果过期,请联系我 https://www.aliyundrive.com/s/mKjz8t8oF9M ...
- Linux上安装JDK+Tomcat
一.下载JDK 1.登录Sun的JDK官方下载网址:http://java.sun.com/javase/downloads/index.jsp 2.下载jdk1.6.0_35 ...
最新文章
- 华为精益敏捷专家:DevOps转型中的那些坑
- 涨姿势 |你所不知道的5 个AR增强现实新趋势
- 《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计...
- 不用for 也能实现按照某索引排好某序列
- Linux下用Xdebug调试php
- 电机与拖动,直流他励电动机的特性测试实验报告,江南大学自动化
- 终于,我读懂了所有Java集合——map篇
- 苹果账号:个人,公司,企业,教育,
- jQuery中的join方法
- 【NDSS 2021】On the Insecurity of SMS One-Time Password Messages against Local Attackers 论文笔记
- wep破解——模拟chopchop攻击
- 多版本环境管理工具sdkman
- 流行和声(2)Major6和弦
- vue组件可视化_Vue HTML5音频可视化组件
- Sentence Centrality Revisited for Unsupervised Summarization
- 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店
- PHP简单实现“相关文章推荐”功能的方法
- python 收发微信之二:获取微信上行信息(利用 flask 框架实现 Web API,获取 WxPusher 上行微信)
- 软件工程选择与判断题
- 高频功率放大器工作原理总结(高频和低频功率放大器的区别)