热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了解决Linux部署Tomcat发布项目过程中各种问题,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

JDK1.8
Tomcat8.5
Maven打包好的war
Linux-----Centos
不知道谁给现场的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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
author-avatar
buddha覀mito_438
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有