一、安装JDK和Tomcat照着以下博主的文章的:
阿里云搭建java运行环境二安装JDK1.8+Tomcat8.5
linux服务器上安装jdk的两种方法(yum+下载包)
二、防火墙放开端口号8080,服务器安全组放通8080端口
- 设置开放的端口号(TCP 80端口)
firewall-cmd --add-port=80/tcp --permanent
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
- 重启防火墙 (重启后端口才有效)
firewall-cmd --reload
- 查看开放的端口号
firewall-cmd --list-all
- 关闭端口
firewall-cmd --remove-port=80/tcp --permanent
三、成功访问Tomcat首页并部署Web项目
部署Web项目出错:
查看Tomcat文件夹下logs日志文件,有报错:
19-Jul-2020 23:44:29.387 SEVERE [localhost-startStop-3] org.apache.catalina.core.StandardContext.filterStart Exception starting filter [LoginFilter]
java.lang.UnsupportedClassVersionError: filter/LoginFilter has been compiled by a more recent version of the Java Runtime (class file version 56.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [filter.LoginFilter])
什么?看不懂?百度翻译一下:
filter/LoginFilter是由较新版本的Java运行时(类文件版本56.0)编译的,此版本的Java运行时只识别52.0以下的类文件版本(无法加载类[过滤器.LoginFilter])
大致意思是这个Java的Class文件是有较高的JDK编译的,现在的JDK版本太低了,无法识别(JDK只是向下兼容),自我反思了一下,我服务器装的是JDK1.8,做项目时用的是JDK12,查看项目的pom文件:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>12</java.version>
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
</properties>
果然,我用的是JDK12!!!
把java版本改成1.8页面成功访问。所以项目开发用的JDK版本最好和部署时的JDK版本一致,否则很容易出错。