服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - Linux部署Tomcat发布项目过程中各种问题及解决方法

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

2021-09-13 17:16DayDreamerKing Tomcat

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

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

jdk1.8
tomcat8.5
maven打包好的war
linux-----centos
不知道谁给现场的tomcat,将其上传到linux平台******目录,并且进行解压。直接启动

图1:

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

问题1

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

?
1
./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:

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

问题2

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

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

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

图3:

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

问题3

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

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

问题解决: 采用暴力一点的方式:
查询ebank进程id:ps aux|grep tomcat
直接杀掉进程:kill-9 pid 杀掉tomcat的进程,之后可以正常的启动图4:

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

问题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:

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

图6:

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

问题5

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

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

图7:

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

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

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

问题6

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

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

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

额外使用的命令

清空日志:

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

查看日志大小:

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

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

原文链接:https://blog.csdn.net/zzh45828/article/details/105779418

延伸 · 阅读

精彩推荐
  • Tomcat解决Tomcat的maxPostSize属性的配置需要注意的问题

    解决Tomcat的maxPostSize属性的配置需要注意的问题

    这篇文章主要介绍了解决Tomcat的maxPostSize属性的配置需要注意的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    life is wonderful12012021-09-13
  • Tomcat如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    CaiCaiNeo11932021-08-29
  • TomcatTomcat整体结构简单介绍

    Tomcat整体结构简单介绍

    这篇文章主要介绍了Tomcat整体结构简单介绍,Tomcat的本质是一个Servlet容器。一个Servlet能做的事情是:处理请求资源,并为客户端填充response对象,需要的朋友...

    叫我田露也行12302021-09-07
  • Tomcat一次tomcat源码启动控制台中文乱码的调试过程记录

    一次tomcat源码启动控制台中文乱码的调试过程记录

    平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,下面这篇文章主要给大家介绍了一次tomcat源码启动控制台中文乱码的调试过程,需要的朋友可以...

    zhoutaoping199211852021-09-24
  • TomcatTomcat CentOS安装实现过程图解

    Tomcat CentOS安装实现过程图解

    这篇文章主要介绍了Tomcat CentOS安装实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    agrin5842021-09-15
  • TomcatTomcat服务器的安全设置

    Tomcat服务器的安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安...

    IT专家网9002021-08-03
  • TomcatEclipse创建tomcat实现过程原理详解

    Eclipse创建tomcat实现过程原理详解

    这篇文章主要介绍了Eclipse创建tomcat实现过程原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    海绵般汲取11642021-09-16
  • TomcatTomcat安装配置方法图文教程

    Tomcat安装配置方法图文教程

    这篇文章主要为大家详细介绍了Tomcat安装配置方法图文教程,java环境变量如何配置,Eclipse安装配置方法图文教程 ,为大家分享了三个教程,感兴趣的小伙...

    Tomcat教程网13292021-08-11