本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下。 
注:部署之前必须已经在Linux上安装好JDK,具体如何在Linux上安装JDK见:Linux环境下安装JDK

1 准备工作

1、下载安装Xshell、Xftp(用于远程连接Linux主机,具体自行百度) 
2、官网下载Linux下tomcat安装包,我用的是:apache-tomcat-6.0.45.tar.gz,直接点击可以下载,当然也可以直接到官网下载:http://tomcat.apache.org/ 
3、将JavaWeb项目打包,如我的项目是CucPayPerson,将webapp或者WebRoot下的文件打包成CucPayPerson.tar.gz(这是我的做法,还有通用做法是打war包)

2 往Linux环境上传工程代码和Tomcat安装包

1、创建工程部署目录:

mkdir /app/code
  • 1

2、用xftp将打包代码文件CucPayPerson.tar.gz上传到以上目录 
3、解压:

tar  -xvzf  CucPayPerson.tar.gz
  • 1

4、最后Windows下和Linux下项目文件系统结构对比如下:

3 安装tomcat

1、新建tomcat服务器目录:

mkdir /app/tomcat
  • 1

2、解压文件:

tar  xvf  apache-tomcat-6.0.45.tar.gz
  • 1

到上面目录下,此时tomcat路径为:/app/tomcat/apache-tomcat-6.0.45 
3、将tomcat文件夹:apache-tomcat-6.0.45 改为项目名字:CucPayPerson

mv /app/tomcat/apache-tomcat-6.0.45 /app/tomcat/CucPayPerson
  • 1

这是因为Linux环境下部署的项目一般很多,这时我们会为每一个项目安装一个tomcat服务器,所以分别起一个名字,此时tomcat路径为:/app/tomcat/CucPayPerson,目录结构如下:

4 修改tomcat配置文件

主要更改server.xml中端口和工程部署路径 
1、进入tomcat中conf文件夹下:

cd /app/tomcat/CucPayPerson/conf
  • 1

2、修改server.xml内容,执行:

vi  server.xml
  • 1

然后按i进入修改:

修改以下三部分内容,修改完成后点击 esc,然后输入 :wq 这样就保存退出了。 
修改shutdown停服务端口:

<Server port="9001" shutdown="SHUTDOWN">
  • 1

修改web登陆端口:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
  • 1
  • 2
  • 3

修改项目发布路径:

<Host>
<Context path="/per" docBase="/app/code/CucPayPerson" debug="0" privileged="true" reloadable="false" />
</Host>
  • 1
  • 2
  • 3

说明:如果给多个项目安装了多个tomcat服务器,必须保证shutdown停服务端口和web登陆端口不同,项目发布路径就是上面所说项目代码路径

5 启动和停止tomcat服务器

1、进入tomcat启动目录:

cd  /app/tomcat/CucPayPerson/bin
  • 1

bin目录下有如下文件,可以看出来都是一些本文件,其中startup.sh和shutdown.sh分别是启动和停止脚本

2、执行启动命令:

nohup  ./startup.sh  &
  • 1

./ 的意思是执行当前路径下脚本文件,nohup的意思是后台执行

3、停止命令

sh shutdown.sh
  • 1

或:

./ shutdown.sh
  • 1

6 启动过程中的跟踪日志命令

1、进入tomcat日志目录下:

cd  /app/tomcat/CucPayPerson/logs
  • 1

2、执行跟踪日志命令

tail -100f catalina.out
  • 1

这个命令意思是动态刷新跟踪文件catalina.out的最后一百行

7 查看项目是否已启动

1、查询项目进程

ps  -ef|grep  CucPayPerson
  • 1

2、测试服务是否已经启动成功 
浏览器输入:http://10.1.7.88:8080/per,更改为Linux主机的IP或者域名。

8 强制杀项目进程

除了用tomcat的停止命令来停止项目服务外,还可以通过查进程ID暴力杀进程 
1、首先得到项目的进程ID

netstat -anp | grep CucPayPerson
  • 1

2、根据进程ID杀进程

kill -9 进程号
  • 1

OVER

本文由bainiu.ltd摘自http://blog.csdn.net/trigl/article/details/51138640

Linux环境下在Tomcat上部署JavaWeb工程的更多相关文章

  1. ubuntu16.04环境下在docker上部署javaweb项目简单案例

    因为一些原因,接触到了docker,经过一番研究,总算是有了一些自己的看法,有什么不对的地方,希望多多指教. 废话不多说,首先我这里使用的虚拟机安装的是ubuntu16.04版本,其他版本应该也可以. ...

  2. JavaWeb入门——在Linux环境下安装Tomcat服务器

    JavaWeb入门——在Linux环境下安装Tomcat服务器 摘要:本文主要学习了如何在Linux环境下安装Tomcat服务器. 准备工作 检查Java环境变量 检查系统是否配置了Java的环境变量 ...

  3. window 和 linux 环境下杀死tomcat进程——也可以解决其他端口被占用的问题

    1.应用场景 在Windows或者linux操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 2.window环境 ...

  4. Linux环境下搭建Tomcat+mysql+jdk

    Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...

  5. 在Linux环境下搭建Tomcat+mysql+jdk环境

    按照下面的步骤一步一步来搭建tomcat+jdk+mysql环境.   [Linux环境]------我搭建的是64位centos版本的linux系统 1.下载并安装一个VMware workstat ...

  6. Linux环境下Eclipse + Tomcat + MySQL 配置J2EE开发环境的方法

    1. 版本号信息 (1)CentOS 6.4发行版64位,uname -a 显演示样例如以下: Linux localhost.localdomain 3.11.6 #1 SMP Sat Nov 2 ...

  7. Hive学习之路(二)—— Linux环境下Hive的安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...

  8. Hive 系列(二)—— Linux 环境下 Hive 的安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的 Hive,这里我下载版本为 cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载 ...

  9. 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引

    什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...

随机推荐

  1. python和linux的环境设置/PATH

    一.python的环境设置 1.输出path列表: pi@raspberrypi:~$ pythonPython 3.4.0 (default, Jul 1 2014, 09:37:01) [GCC ...

  2. Spring中Beans的自动装配概述

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/beans-autowiring.html: 在之前的做法上会参照这样的顺序:1.使用<bea ...

  3. 使用JavaScript进行进制转换将字符串转换为十进制

    JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换: JS中可以直接使用16进制: var a = 将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常 ...

  4. android开发教程之使用线程实现视图平滑滚动示例

    最近一直想做下拉刷新的效果,琢磨了好久,才走到通过onTouch方法把整个视图往下拉的步骤,接下来就是能拉下来,松开手要能滑回去啊.网上看了好久,没有找到详细的下拉刷新的例子,只有自己慢慢琢磨了.昨天 ...

  5. Android中的多线程编程(一)附源代码

    Android中多线程编程:Handler类.Runnable类.Thread类之概念分析 1.Handler类: Handler是谷歌封装的一种机制:能够用来更新UI以及消息的发送和处理.Handl ...

  6. 项目整理--Echarts前端后台的贯通写法

    项目整理–Echarts前端后台的贯通写法 注:下面所有内容建立在FH admin开源框架和eharts插件基础上,建议观看本案例者进行了解. 业务逻辑 绘制两张图表.分别显示城市空间库和其它数据仓库 ...

  7. 一致性hash算法在memcached中的使用

    一.概述 1.我们的memcacheclient(这里我看的spymemcache的源代码).使用了一致性hash算法ketama进行数据存储节点的选择.与常规的hash算法思路不同.仅仅是对我们要存 ...

  8. npoi 加密 https://bbs.csdn.net/topics/380226272

    终于解决了,.1.用excel新建一个文件作为模板,可以是空内容,在excel中对文件进行加密,如密码为:12345. 2.在NPOI读取前,调用:Biff8EncryptionKey.Current ...

  9. HDU 1248 寒冰王座 (水题的N种做法!)(含完全背包)

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  10. LeetCode_DP_Word Break II

    LeetCode_Word Break II 一.题目描写叙述: 二.解决思路: 题目要求我们要在原字符串中加空格,使得隔开的每一个词都是词典中的词. 所以我们大能够按顺序扫描每一个字符.可是然后当碰 ...