热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Tomcat安装与配置教程及常见问题解决方法

本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、JavaRuntime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。

参考:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=10673&page=1

按照上面的步骤进行整理,但是还需要留意一些区别。

在这里插入图片描述
这是教程里的,有些年代,所以这里是我装的版本
在这里插入图片描述
装Tomcat的时候也会自动装一个jdk。

安装软件需要注意图中我所说的安装的条件,这个不用多说(很多人好奇java运行的jdk在哪安装,宝塔安装tomcat的时候会默认给你安装jdk,jdk的版本是这样对应的,比如你的tomcat是7.0版本,那么你的jdk就是1.7,tomcat8.0对应jdk1.8,给你们一张图更清楚)
在这里插入图片描述
Tomcat关于jdk的兼容:http://tomcat.apache.org/whichversion.html
在这里插入图片描述
所以按面板自动装的就可以。
在这里插入图片描述
这里创建上域名,即通过解析得到的那些域名。
会自动生成一个文件夹,里面放的就是web项目。

然后打开生成的相应文件夹。在这里插入图片描述
直接把war放进来
(导出过程:https://jingyan.baidu.com/article/ab0b56309110b4c15afa7de2.html)
然后解压就可以在浏览器中访问

如果遇到403问题,这只是Tomcat没有启动
在这里插入图片描述
在设置中开启Tomcat即可。
在这里插入图片描述
设置整个大数据库的root密码
在这里插入图片描述

可以通过Navicat连接服务器来看是否数据库能用。
在这里插入图片描述
在这里插入图片描述
这里我遇到了各种问题,首先第一个问题是没有反应,然后我用了腾讯云终端和Xshell 5来连接服务器,发现数据库我都打不开(我用Navicat能连,具体原因也不知)

后来发现可能是数据库原因,我把数据库更新成最新的,然后腾讯云终端和Xshell 5都能连上了
最后发现也没什么关系(因为面板说Mysql8.0需要2核cpu,不给安装),其实用mysql 5.6也没关系,只要参考下面的3306错误解决方案即可。
在这里插入图片描述
但是新的数据库用Navicat连还是出现1130错误:
1130 - Host XXX is not allowed to connect to this MySQL server如何处理
Navicat这么方便,还是得试验一下的。
解决方法:https://blog.csdn.net/qq_21237549/article/details/105107928

如果出现2003错误
2003-Can’t connect to Mysql server on xxxxxxxxxxxxxx
在这里插入图片描述
则在云服务器上添加3306端口
在这里插入图片描述

当然连接服务器的时候别忘了在安全中开启3306端口,放行mysql服务默认端口
在这里插入图片描述

之后重新运行,发现还是有问题:
在这里插入图片描述
has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class com.servlet.Login)
解决方法参考:https://blog.csdn.net/shan9liang/article/details/17266519

由于我的jdk是1.8
可通过终端查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而这里的jdk compliance level是jdk 13,这样的配置下导出来的war和服务器上的jdk不能兼容,所以我们可以把本地jdk变成和服务器jdk一样,都改成1.8
在这里插入图片描述
然后导出war重新上传,最后就可以成功登录了,在这里插入图片描述

方法二(但是没用,想不通,出现502错误,以后搞懂了再来填)
参考:http://www.freesion.com/article/3494217318/

最好的方法是把服务器jdk升级
卸载原来的jdk
卸载rpm安装的jkd版本

参考:https://blog.csdn.net/u010440155/article/details/51861645?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
查看安装的jdk:
#rpm -qa|grep jdk
看到如下信息:
jdk1.8.0_121-1.8.0_121-fcs.x86_64
卸载:
#rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
在这里插入图片描述
此时重新启动Tomcat,原来的网站index.jsp自然看不到了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200326024656644.png

接下来下载新的jdk
jdk地址:
https://www.oracle.com/java/technologies/javase-jdk13-downloads.html
在这里插入图片描述
用WinSCP连接服务器
在这里插入图片描述
上传文件
在这里插入图片描述
用Xshell 5连接,接下来都用命令行

参考:https://blog.csdn.net/u010440155/article/details/51861645?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/weixin_42707403/article/details/90673518

https://zhidao.baidu.com/question/1766919064946391260.html

https://blog.csdn.net/ljk168/article/details/80058786

不过最后装完jdk13以后发现出现了502错误,所以最后又改了回来。

最后是关于项目的前后端连接代码

javaweb项目直接源代码拷过来就行,网址端口都不用管
在这里插入图片描述
安卓端的话由于是客户端,记得把http路径改一下,改成服务器地址。
在这里插入图片描述
相当于这里通过域名进行相应检索,找到主目录
在这里插入图片描述
然后就可以通过8080端口访问了。


推荐阅读
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
author-avatar
时尚经典语录覀---
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有