在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器。在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章。

一  tomcat服务器修改端口

tomcat服务器配置好以后,默认是8080端口,为了方便访问,我们将端口修改为80端口。比如, tomcat安装在/usr/local/tomcat目录下,利用命令

#cd /usr/local/tomcat/conf

#ls

可以tomcat的conf目录下的文件,端口定义就在server.xml文件中,利用

#vi server.xml

进入server.xml中进行修改,   在文件中找到

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

输入“i”切换到输入模式,将port="8080"改为port="80",按Esc退出键,切回到命令模式,输入“:”,切换到末行模式,输入“wq”,回车,相当于保存退出,这样tomcat的端口就修改完成了。

然后重新启动tomcat服务器,让修改生效。

先进入tomcat的bin目录

#cd /usr/local/tomcat/bin

关闭tomcat

#./shutdown.sh

启动tomcat

#./startup.sh

因为80端口是默认端口,我们利用http协议访问服务器的时候就不用加端口了,可以直接输入服务器的ip进行访问。

二生成java项目部署文件(夹)

项目完成部分功能,想要放到tomcat服务器上测试,可以生成war文件,不过打包的war文件比较大,如果在公网服务器上测试需要上传的时间比较长,我采用的是将编译后的整个文件夹上传服务器,因为里面的文件是分开的,就第一次上传会花较长时间,后面只传改动过的部分文件(主要是二进制的classes文件),数据量会比较小,上传会很快。

首先说明一下我使用的java开发工具是eclipse neon版本,java jdk是1.8(jdk1.8.0_101),tomcat是8.0版本(apache-tomcat-8.0.36)。想要得到项目部署文件夹,就要知道eclipse上使用的tomcat的工作目录,tomcat服务器的工作目录在eclipse中是可以设置的,工作目录的设置参考

http://blog.csdn.net/xiaojiang167168/article/details/25330899

下面原文引用

Eclipse中tomcat service设置
选择window ----show view---services可以看到服务的面板
双击tomcat进入配置界面Service Locations(Specify the server path (i.e.
catalina.base) and deploy path. Server must be published with no modules
present to make changes.)选项变灰色无法更改配置。
若要更改,则先把tomcat下的所有項目移除。并右击,clean...之后方可设置。。。启动后将又变为黑色。

默认选项为:
Use workspace metadata(dose not modify Tomcat installation)
修改选项为:
Use Tomcat installation(takes control of Tomcat installation)


这样在Eclipse启动了tomcat服务器,我們也能夠访问到tomcat本地管理首页。

设置完成之后,tomcat服务器的工作目录就是tomcat的安装目录了,比如我的tomcat安装到了E:\apache-tomcat-8.0.36目录中,我们启动服务器之后,tomcat就会把我们的项目放到E:\apache-tomcat-8.0.36\wtpwebapps目录下,文件夹的名字就是项目名,如果我们的项目名是project1,在wtpwebapps文件夹下就有一个project1文件夹,这个文件夹就是我们需要部署的文件了。

三  部署项目文件夹到tomcat服务器

在eclipse中启动tomcat服务之后,可以直接访问http://localhost/project1,如果在项目中定义了一些应用接口,就可以直接访问了,比如用户登陆的接口为login,我们就可以访问http://localhost/project1/login。

把tomcat文件夹部署到tomcat服务器也比较简单,就是把project1这个文件夹直接拷贝到tomcat的webapps文件夹下就可以了。可以使用linux的通信工具SSH,将project1文件夹上传到linux的/usr/local/tomcat/webapps文件夹下,这样就可以直接通过http://ip地址/project1访问项目了。

打开项目文件夹,我们会发现它里面会有META-INF、WEB-INF两个文件夹,可能还有一些其他的资源文件夹,这些其它的文件夹或者文件都是我们在eclipse里面编译时在webapp(或WebRoot)里面创建的。第一次上传之后,这些文件(夹)都随着项目文件夹上传到服务器,以后再次上传我们一般只需要上传WEB-INF文件夹下的classes文件夹即可,因为其他文件基本不会改动,当然如果改动了也覆盖上传就可以了。

这里需要注意的一点就是,上传classes文件夹的过程,因为里面是二进制文件,tomcat有可能正在使用,所以不能删除,也不能覆盖,需要手动将这个文件夹删除。

进入WEB-INF目录

#cd /usr/local/tomcat/webapps/project1/WEB-INF

删除classes文件夹

#rm –rf classes

然后将编译过的对应目录下的classes文件夹拷贝到服务器WEB-INF目录下。然后要重启一下tomcat。

#cd /usr/local/tomcat/bin

#./shutdown.sh

#./startup.sh

这样,修改就完成。

linux的tomcat服务器上部署项目的方法的更多相关文章

  1. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  2. 一个tomcat服务器上部署多个Web项目,不同域名访问

    [参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...

  3. tomcat服务器上web项目日志存放位置

    1.找到log日志的配置文件:log.xml,或者log.property,找到rollingFile标签,该标签的fileName属性就是更新的日志文件的存放位置.(相对于tomcat的bin目录)

  4. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  5. 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...

  6. 总想自己动动手系列·2·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(完结篇)

    一.准备工作 (1)创建一个web-project工程,部署本地可正常访问,部署在云服务上可访问. (2)理解如何在web.xml文件中配置过滤器,和创建一个自定义的过滤器. (3)懂得如何打war包 ...

  7. Java Project部署到Tomcat服务器上

    所有的JAVA程序员,在编写WEB程序时,一般都通过工具如 MyEclipse,编写一个WEB Project,通过工具让这个WEB程序和Tomcat关联.其实在我们可以通过JAVA程序部署到Tomc ...

  8. 如何在同一台服务器上部署两个tomcat

    因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...

  9. 如何在Linux服务器上部署禅道

    最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...

随机推荐

  1. 【Vue】Vue初探

    从去年年底到现在,陆续接触了React.Backbone等前端框架以及NodeJs等相关前端知识.不得不说现在前端发展太快了.以前我们还在为选择用哪种编程语言而烦恼,现在前端领域已经在为使用哪种框架而 ...

  2. 第一章 Java概述

    1.JAVA分类 JAVA SE:基础核心(面向对象.API.JVM...) JAVA ME:(游戏.通讯开发) JAVA EE(JSP/Sevlet\EJB\服务开发.企业应用)   2.JAVA语 ...

  3. SVM原理 (转载)

    1. 线性分类SVM面临的问题 有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分,比如下图,本来数据是可以按下面的实线来做超平面分离 ...

  4. [Log函数]C++log函数使用

    先引入头文件#include<cmath> 以e为底:log(exp(n)) 以10为底:log10(n) 以m为底:log(n)/log(m)

  5. MachineLearningOnCoursera

    Week Six F Score \[\begin{aligned} P &= &\dfrac{2}{\dfrac{1}{P}+\dfrac{1}{R}}\\ &= & ...

  6. ORM框架之SQLAchemy

    SQLAchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,即:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 1.安装 ...

  7. vue 源码学习三 vue中如何生成虚拟DOM

    vm._render 生成虚拟dom 我们知道在挂载过程中, $mount 会调用 vm._update和vm._render 方法,vm._updata是负责把VNode渲染成真正的DOM,vm._ ...

  8. Mac上常用工具总结

    iOS开发辅助工具 Reveal :Xcode辅助界面调试工具 官网地址:https://revealapp.com/download/ 图标: SimPholders : 快速打开模拟器中的应用程序 ...

  9. [LeetCode] Rectangle Overlap 矩形重叠

    A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bot ...

  10. dedecms给图片加水印覆盖整张图片

    位置: /include/image.class.php $wmwidth = $imagewidth - $logowidth; $wmheight = $imageheight - $logohe ...