您的位置:首页 > 运维架构 > Tomcat

centos7 安装部署jdk环境及tomcat

2016-01-12 23:17 751 查看
环境:centos7 mini

1、centos7 安装jdk:

oracle官方下载jdk:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html



下载对应rpm包:

wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm

rpm -ivh jdk-8u65-linux-x64.rpm





注:假若需要安装openjdk直接yum install java即可。不过建议安装jdk,openjdk有时候由于标准不一样会出现一些小问题(当然一般情况下碰不到)

下述为jdk与openjdk区别:

关于JDK和OpenJDK的区别,可以归纳为以下几点: 
授权协议的不同: 

openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。 

OpenJDK不包含Deployment(部署)功能: 

部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的。 

OpenJDK源代码不完整: 

这个很容易想到,在采用GPL协议的Openjdk中,sun jdk的一部分源代码因为产权的问题无法开放openjdk使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码(OpenJDK6),促使OpenJDK更加完整。 

部分源代码用开源代码替换: 

由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。 

openjdk只包含最精简的JDK: 

OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。 

不能使用Java商标: 

这个很容易理解,在安装openjdk的机器上,输入“java -version”显示的是openjdk,但是如果是使用Icedtea补丁的openjdk,显示的是java。(未验证) 

总之,在Java体系中,还是有很多不自由的成分,源代码的开发不够彻底,希望Oracle能够让JCP更自由开放一些,这也是所有Java社区所希望的。
2、下载安装配置tomcat:

下载地址:http://tomcat.apache.org/



解压tomcat : unzip apache-tomcat-8.0.30.zip



运行tomcat:







tomcat部署成功,访问页面正常。

修改tomcat 8080端口为80:





3、部署Web到tomcat(使用第三种方式):

首先将war包,拷贝到linux系统下面(如何获取war包,请参考文章最后:eclipse maven工程获取war包)。





在conf/Catalina/localhost创建xml,文件名则是访问路径名!!!



再重新运行tomcat:





部署成功。

补充:部署Web到tomcat的四种方式:

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中

     Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar
-cvf mywar.war  myweb 

     webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
       unpackWARs="true"
autoDeploy="true"
       xmlValidation="false"
xmlNamespaceAware="false">
将appBase修改即可。 
2、在server.xml中指定 

    在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。

在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: 
<Context path="/hello" docBase="D:\
workspace\hello\WebRoot" debug="0" privileged="true"> 

</Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>

说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
 
debug 则是设定debug
level,  0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking
 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件 
  在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot"
debug="0" privileged="true"></Context>
 
tomcat自带例子如下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
         privileged="true"
antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
注意:
    删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
4、动态部署
     登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
     在Context
Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
     XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: <Context
reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context
Path(option):中的名字。

    如果部署.war文件还有更加简单的方式,下面还有个Select
WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

补充:eclipse maven工程获取war包:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: