简言

当我们的项目写好之后必然要放在服务器上面部署,我这里记录一篇使用linux服务器发布自己写的Web项目。

准备工作

我们需要在服务器提前安装好jdk和tomcat

1
2
3
4
5
安装JDK(推荐yum)
https://blog.csdn.net/liuxiangyang_/article/details/89093928
安装tomcat (推荐tar)
https://blog.csdn.net/liuxiangyang_/article/details/99676398

JDK和Tomcat的文件

1.使用Myeclipse等代码工具将项目打包成WAR格式

在项目上单击右键选择【Export】-【MyEclipse JavaEE】文件夹-【WAR file】,单击【Next>】如图所示,选择存放打包程序的地址,单击【Finish】完成,即实现了打包,在完成之后可以去你打包的地方看一下是否打包成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.将此包上传至服务器的webapps目录

只要将包放入到这个目录里面即可
在这里插入图片描述

1
2
3
4
5
6
7
注意如果我们的防火墙是开启的状态,需要手动去开放指定的端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
firewall-cmd --reload
success
firewall-cmd --zone=public --query-port=8080/tcp

3.开启Tomcat,即可访问

在浏览器输入相应的 地址+端口+项目名称即可
http://192.168.43.32:8080/hrmapp/
如果想直接访问不加项目名称,则需要把ROOT删掉,然后将项目名称改为ROOT.war即可这个是默认的项目路径
在这里插入图片描述
在这里插入图片描述
注意事项

这里我开启Tomcat的时候出现了问题导致项目无法启动,浏览器报404错误
我去Tomcat的日志看了一下发现是这个问题,百度了好多解决方案,发现只要这样做才可以解决
日志报错信息
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.Lifec……
解决办法如下
修改tomcat中conf文件中的catalina.properties里的一行代码
org.apache.catalina.startup.ContextConfig.jarsToSkip=
后添加 *.jar 问题完美解决
同样的环境同样的项目只是tomcat不同,我的另一台服务器192.168.43.31发布项目之后报下面的问题
jsp中 taglib uri=“http://java.sun.com/jsp/jstl/core” 报错
java.lang.ClassNotFoundException:org.apache.jsp.index_jsp
查了相关资料后发现问题是
项目中jsp-api.jar和servlet-api.jar与Tomcat服务器中jsp-api.jar和servlet-api.jar的冲突问题,所以两种方法。
1.删掉WEB-INF下的jsp-api,servlet-api重新部署
2.用较低版本的Tomcat服务器(推荐)
3.所以项目导出的时候尽量和本系统的环境一样
也可以参考这边文章
https://blog.csdn.net/cx1110162/article/details/78110277