Linux部署Tomcat发布项目过程中各种问题及解决方法_Tomcat

来源:脚本之家  责任编辑:小易  

以RedHat系列64位操作系统为例,到Apache和Oracle的官方网站下载所需的工具包jdk-6u33-linux-x64.bin和apache-tomcat-7.0.2.tar.gz,并将两个软件包上传到Linux服务器。为jdk-6u33-linux-x64.bin授权,运行该文件chmod+x jdk-6u33-linux-x64.binjdk-6u33-linux-x64.bin将生成的文件移动到/usr/local/下,并做软链接为java配置本地环境变量,并测试java环境是否配置成功。vim/etc/profileJAVA_HOME=usr/local/javaJRE_HOME=usr/local/java/jreCLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/libPATH=$JAVA_HOME/bin:$PATHexport PATH CLASSPATH JAVA_HOMEsource/etc/profilejava-version解压tomcat软件包apache-tomcat-7.0.2.tar.gz,并将解压文件移动到/usr/local下修改tomcat配置文件。进入tomcat的bin目录cd/usr/local/tomcat/bin/vim catalina.sh在85行下添加JAVA_OPTS="-server-Xms800m-Xmx800m-XX:PermSize=64M-XX:MaxNewSize=256m-XX:MaxPermSize=128m-Djava.awt.headless=true配置内存大小,修改完成后保存配置启动tomcat服务器cd/usr/local/tomcat/bin/startup.shwww.zgxue.com防采集请勿采集本网。

部署项目到项目现场测试环境

可以的,可系统没有关系!只要站点名不同,就可以部署!安装jdk 配置jdk环境变量 安装tomcat 找到conf下的service.xml vi命令打开编辑 host标签中添加 站点名\"docBase=\"项目webroot存放地址

JDK1.8

请使用tomcat的虚拟服务,不用白不用啊!apache也有虚拟服务,可开多个进程!用linux,怎么能没有这个呢?

Tomcat8.5

inux下tomcat更改发布目录方法如下: 1、修改tomcat的默认目录。它的默认目录是webapps/ROOT,对应的conf目录下的server.xml里的内容是: localhost”appBase=”webapps” unpackWARs=”true”

Maven打包好的war

权限问题吧!远程连接 远程连接指的是由另外一台机器连接到这台机器上。这种连接的数据包在 iptables 会首先经过 PREROUTING 链,所以只需在 PREROUTING 链中作 DNAT。iptables-t nat-A PREROUTING-p tcp-

Linux-----Centos

9.<CATALINA_HOME>/webapps:web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了. Java web组成 Java web应用由一组静态HTML页、Servlet、JSP和其他相关的class

不知道谁给现场的Tomcat,将其上传到Linux平台******目录,并且进行解压。直接启动

图1:

tomcat目录结构

问题1

因为是第一次启动Tocmat,没有日志文件。所以直接启动 ./startup.sh。后续可以使用以下命令动态的查看日志信息。执行后提示没有执行权限

./startup.sh & tailf ../logs/catalina.out

问题分析: .sh可执行文件 当前用户都不具备权限

问题解决: 使用命令:chmod u+x *.sh。在tomcat/bin目录下执行

命令分析: 表示对当前目录下的所有.sh文件的所有者增加可执行权限。 chmod是权限管理命令change the permissions mode of a file的缩写 u 代表所有者; x 代表执行权限; “+” 表示增加权限。 也可以单独指定一个文件 比如:chmod u+x abc.sh 然后用./startup.sh启动。

图2:

权限不足显示。

问题2

启动之后报错找不到 *****目录下的文件。

问题分析: 此问题出现是因为在 tomcat 的server.xml文件中配置了多个 Context环境。但是在指定的目录下并没有项目部署。

问题解决: 删除server.xml文件中所有的Context。删除 tomcat 目录webapps以及wtpwebapps 下所有部署过的项目。此时只是单独启动一个 ebank。启动成功,访问8080成功。

图3:

server.xml 带有Context的目录。

问题3

在 tomcat 服务器 webapps上添加Maven打包好的war包。之后进行启动。但是报错端口被占用。

问题分析: 这个操作是在没有暂停之前那一步操作进行的。所以导致端口被占用。可是直接暂停tomcat之后还是报端口被占用

问题解决: 采用暴力一点的方式:

查询ebank进程ID:ps aux|grep tomcat

直接杀掉进程:kill-9 PID 杀掉tomcat的进程,之后可以正常的启动图4:

端口被占用错误信息

问题4

此时虽然可以正常启动,但是报错:java.lang.OutOfMemoryError: PermGen space(提示内存溢出,属于永久区的内存溢出)。

问题分析: Tomcat的内存参数之前并没有设置过,当前部署的项目占用内存较大加载的class较多。导致永久区内存不够使用。

问题解决: 将tomcat 的bin 下 catalina.sh文件复制一份进行修改,将原先的进行备份。在catalina.sh文件中 找到cygwin=false位置的前面 添加参数,注意引号要带上

JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m"

将修改后的文件替换到tomcat/bin下。

图5:

堆内存溢出报错信息

图6:

catalina.sh文件修改内容

问题5

此时再次启动,但是提示找不到catalina.sh文件?

问题分析: 因为在startup.sh执行文件中会调用catalina.sh执行文件。从而启动Tomcat服务。后续使用命令 ll 查看bin目录下。发现问题此时的catalina.sh 文件不在是一个可以执行的文件了。(不是绿色的)问题解决: 再次使用chmod u+x catalina.sh 赋予可以执行的权限。

图7:

在startup.sh文件中 调用catalina.sh执行文件

图8:图中以hello.sh 举个栗子。(显示为黑色,与catalina.sh 不同)

 区分是否为可执行文件

问题6

启动成功,但是在浏览器确访问不到项目,访问8080成功。

问题分析: 在Tomcat的webapps目录下发现,经过Tocmat的解压缩将各个War包解压后 都带有版本号(war包是Maven打包生成的,带有版本号)。浏览器访问的正确地址是不带版本号的问题解决: 删除项目,重新命名War包。再次启动。到此为止全部成功图8:

webapps目录下 带有版本号的war项目

额外使用的命令

清空日志:

echo -n "" > ../logs/catalina.out固定语法:echo -n "" >

查看日志大小:

du -h ../logs/catalina.out固定语法:du -h >

到此这篇关于解决Linux部署Tomcat发布项目过程中各种问题的文章就介绍到这了,更多相关Linux部署Tomcat内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

没必要导出war包,想在Linux下运行你的项目,我提供你两种思路:1:直接把整个开发环境换成Linux下的,比如在Linux下安装Eclipse,Tomcat.一样可以开发,运行你的项目;2:把windows下的java web程序通过Eclipse的file->export打包成war包,然后在Linux下部署tomcat服务器,把war包放到webapps目录下即可.具体的server.xml文件,你要根据Linux的系统目录进行修改内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • window和linux通过tomcat9手工部署war包的方法
  • linux centos下安装tomcat9及web项目的部署
  • linux服务器部署tomcat和nginx的教程
  • linux实现自动部署tomcat脚本
  • linux 单个tomcat多实例部署shell脚本详解
  • tomcat性能优化(性能总览)
  • mac 命令行启动tomcat的详细介绍
  • 关于tomcat服务器无法打开tomcat7w.exe的解决办法
  • tomcat服务配置和自启动详解
  • 在myeclipse上部署tomcat服务器的方法
  • tomcat 几种连接池配置代码(包括tomcat5.0,tomcat5.5x,tomcat6.
  • tomcat6.0 /7.0安装版内存溢出设置方法
  • eclipse添加tomcat server配置的方法步骤
  • tomcat7的配置文件server.xml解析
  • win2003下iis6集成一个或多个tomcat的方法
  • linux下tomcat部署java web项目
  • linux部署tomcat需要哪些步骤
  • 在Linux上部署tomcat等应用,一般部署在哪个目录下
  • 怎么在linux下用tomcat部署java web项目?
  • linux下一个tomcat可以部署多个工程吗? 如何部署?
  • 在Linux如何部署多个Tomcat。
  • linux下tomcat怎么更改发布目录?
  • Linux部署Tomcat的
  • tomcat在linux下部署的目录结构有哪些
  • linux下tomcat怎么更改发布目录
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器tomcat window和linux通过tomcat9手工部署war包的方法linux centos下安装tomcat9及web项目的部署linux服务器部署tomcat和nginx的教程linux实现自动部署tomcat脚本linux 单个tomcat多实例部署shell脚本详解tomcat性能优化(性能总览)mac 命令行启动tomcat的详细介绍关于tomcat服务器无法打开tomcat7w.exe的解决办法tomcat服务配置和自启动详解在myeclipse上部署tomcat服务器的方法tomcat 几种连接池配置代码(包括tomcat5.0,tomcat5.5x,tomcat6.tomcat6.0 /7.0安装版内存溢出设置方法eclipse添加tomcat server配置的方法步骤tomcat7的配置文件server.xml解析win2003下iis6集成一个或多个tomcat的方法tomcat7.0安装配置详细(图文)直接双击启动tomcat中的startup.tomcat中更改网站根目录和默认页在tomcat中部署web项目的操作方法关于tomcat的server.xml里host节如何修改tomcat默认端口号8080的tomcat环境变量详细配置步骤windows下配置两个或多个tomcat启window7下tomcat7.0安装配置方法启动tomcat时 错误: 代理抛出异常如何修改tomcat项目的图标(两种)tomcat目录结构详解启动tomcat时 错误: 代理抛出异常 : javatomcat启动报错:java.util.zip.zipexcep修改tomcat运行时jvm编码问题tomcat6.0 /7.0安装版内存溢出设置方法tomcat实现热部署tomcat部署时war和war exploded区别及问题详解tomcat热部署和热加载的方法tomcat 9 免安装版配置的图文教程(详)
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved