Tomcat 9仅适用于运行CentOS 6或CentOS 7的虚拟服务器。如果您使用的是CentOS 5(Webmin)或CentOS 4(VPS)计划,并且需要Tomcat 9,则需要迁移到CentOS 6(ISPmanager)计划。
Tomcat9设计用于在JavaSE8及以上版本上运行。Tomcat9中不支持JavaSE7
警告Tomcat 9是Tomcat应用服务器的主要版本。此版本对现有Tomcat服务器引入了新功能和重大更改。如果您要从Tomcat的任何早期版本升级到Tomcat 9,如果您不使用此新版本仔细测试现有数据库和应用程序,则存在数据丢失和停机的高风险。
建议作为一种最佳实践,维护一个登台服务器,在将软件升级转移到生产环境之前,您可以在该服务器上测试软件升级。此方法将允许您在执行软件升级时将数据丢失和生产服务停机的风险降至最低。如有必要,您可以按需重建临时虚拟服务器,以便有一个新的安装进行测试。
重要提示:Tomcat9有大量新特性和更改。有关升级时可能导致问题的更改列表,请参阅正式的Tomcat 9发行说明:https://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt. 请仔细阅读本文档,以了解Tomcat 9版本中的所有更改。升级到此版本可能会严重影响数据库和应用程序的操作。所有Tomcat 9文档都位于此处:https://tomcat.apache.org/tomcat-9.0-doc/
如果要将Tomcat应用程序从现有版本的Tomcat迁移到Tomcat 9,请参阅Apache Tomcat迁移指南:https://tomcat.apache.org/migration-9.html
Tomcat 9.0.8中突出显示的功能和修复
- Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1和JASPIC 1.1
- 添加对HTTP/2的支持(需要在Java 9上运行或安装Tomcat本机库)
- 添加了对使用OpenSSL for TLS支持和JSSE连接器(NIO和NIO2)的支持
- 添加对TLS虚拟主机(SNI)的支持
- 当建立到服务器的WebSocket连接时,WebSocket客户端现在接受
java.net.java.net.ProxySelector
配置(使用HTTP类型) - 允许连接器可以使用JSSE或OpenSSL的新SSL配置类型
- 用于AJP连接器的新配置选项ajpFlush,用于禁用AJP刷新数据包的发送
- 改进已认可目录的处理。只有在显式设置了
JAVA_ENDORSED_DIRS
系统属性或存在$CATALINA_HOME/endorsed
时,才会使用认可的目录机制 - 将其他属性添加到管理器中,以控制在会话中添加属性时调用哪些侦听器(如果该属性已以相同的名称添加)。
- 为NIO2添加异步HTTP/2解析器。
如何升级
在升级Tomcat之前,请备份数据库。
您还应该备份应用程序、配置以及所做的任何调整或更改。如果您没有当前备份,并且在升级过程中出现问题,则可能会丢失数据。
要升级Tomcat,您需要使用SSH从命令行工作,并且需要能够作为root用户工作。您需要使用yum
来升级应用程序。
Tomcat 6或Tomcat 7或Tomcat 8至Tomcat 9
在主要的Tomcat版本之间没有直接的升级路径,例如Tomcat 6或Tomcat 7到Tomcat 9之间。如果您使用的是Tomcat 6或7,则需要备份您的应用程序(通常位于/opt/tomcatX/webapps
目录中,其中X是您的Tomcat版本)、数据以及您所更改的任何配置文件。然后卸载现有版本的Tomcat,安装Tomcat 9,然后重新部署应用程序。如果您在未卸载之前的Tomcat版本的情况下尝试安装Tomcat 9,安装可能会失败。
重新部署应用程序时,还需要更新Tomcat配置文件,如server.xml
。请注意-不要复制整个文件,只复制添加的特定主机块。如果尝试使用Tomcat以前版本中的server.xml
,则新版本的Tomcat将崩溃。
要删除现有版本的Tomcat,请使用yum remove-y tomcatX
命令,其中X是现有版本号(6或7)。
[root@eapps-example ~]# yum remove -y tomcatX
这将从/opt/tomcatX
目录中删除主目录,但tomcatX目录仍将保留。
如果您使用的是JavaSE6或JavaSE7,则需要删除它并安装JavaSE8。在安装Tomcat9之前,您需要安装JavaSE8。如果在安装JavaSE8之前尝试安装Tomcat9,Tomcat9将不会启动。
使用yum remove -y java-1.6.0-sun java-1.6.0-sun-plugin java-1.6.0-sun-jdbc java-1.6.0-sun-src java-1.6.0-sun-devel java-1.6.0-sun-javafx
命令删除Java SE 6。
[root@eapps-example ~]# yum remove -y java-1.6.0-sun java-1.6.0-sun-plugin java-1.6.0-sun-jdbc java-1.6.0-sun-src java-1.6.0-sun-devel java-1.6.0-sun-javafx
使用yum remove -y java-1.7.0-sun java-1.7.0-sun-plugin java-1.7.0-sun-jdbc java-1.7.0-sun-src java-1.7.0-sun-devel java-1.7.0-sun-javafx
命令删除Java SE 7。
[root@eapps-example ~]# yum remove -y java-1.7.0-sun java-1.7.0-sun-plugin java-1.7.0-sun-jdbc java-1.7.0-sun-src java-1.7.0-sun-devel java-1.7.0-sun-javafx
要使用Java SE 8,请使用yum install-y Java-1.8.0-oracle Java-1.8.0-oracle-plugin Java-1.8.0-oracle-jdbc Java-1.8.0-oracle-src Java-1.8.0-oracle-devel Java-1.8.0-oracle-javafx
命令进行安装。
[root@eapps-example ~]# yum install -y java-1.8.0-oracle java-1.8.0-oracle-plugin java-1.8.0-oracle-jdbc java-1.8.0-oracle-src java-1.8.0-oracle-devel java-1.8.0-oracle-javafx
删除现有版本的Tomcat后(如有必要,删除Java SE 6和Java SE 7并安装Java SE 8),使用yum install-y tomcat9
命令安装Tomcat 9。
[root@eapps-example ~]# yum install -y tomcat9
一旦安装完成,您将需要重新部署应用程序并复制配置文件,然后进行测试。
Tomcat 9.x到Tomcat 9.y(更新版本)
升级前,备份应用程序(通常在/opt/tomcat8/webapps
中)、所有已更改的配置文件以及数据。这样,您可以在升级后根据需要重新部署应用程序。
使用yum-update-tomcat8
命令升级Tomcat。
[root@eapps-example ~]# yum update tomcat9
更新完成后,测试现有应用程序。
除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/2421.html
暂无评论