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

JDK1.8
Tomcat8.5
Maven打包好的war
Linux-----Centos
不知道谁给现场的Tomcat,将其上传到Linux平台******目录,并且进行解压。直接启动

图1:

Linux部署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:

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发布项目过程中各种问题及解决方法

额外使用的命令

清空日志:

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

查看日志大小:

du -h ../logs/catalina.out
	固定语法:du -h >
标签:
Linux部署Tomcat,Linux部署Tomcat发布项目

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。