前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Centos7 Tomcat9 安装笔记

Centos7 Tomcat9 安装笔记

作者头像
小明互联网技术分享社区
发布于 2022-10-31 08:32:39
发布于 2022-10-31 08:32:39
35900
代码可运行
举报
文章被收录于专栏:IT技术分享社区IT技术分享社区
运行总次数:0
代码可运行

点击上方'伦少的博客'关注与您一起成长

前言

有两个月没更新博客,部分原因是这两月的工作一直没写Spark程序,而是在写前端,所以虽然期间一直想写但是没有想出从哪方面入手。后端框架用的SpringBoot,前端用的是JSP、BootStrap、Echarts等,前端主要做成了大屏的样子,之前写过一段时间前端,但是没有整理笔记,导致现在再写,有些东西还要去翻原来的代码,比较麻烦,所以一直想整理一些前端的笔记,但是由于不是专业的前端,不是写的很深入,只想把自己实现的的效果对应的代码总结一下,如果只写代码的话,看起来比较单调,所以我想能有写一些前端页面,在博客里放上连接,这样看起来会比较直观。现在的博客用的是hexo,代码托管在coding上,有些页面,比如菜单、整体布局的效果在这上面不太好展现,所以想在自己的服务器用SpringBoot搭一个完整的系统,那么就要从头开始,从搭建SpringBoot程序开始,虽然SpringBoot自身带了tomcat,但是我感觉自己安装的tomcat用起来会比较方便,这就是为什么先写tomcat的安装了。 之前用过也配置过tomcat,但是没有从头到尾的在服务器上配置,下面就记录一下我的安装过程及碰到的问题,方便后面我在其他的服务上部署。

1、前提

首先安装配置JDK,我这里用的是JDK1.8.0_45

2、下载

首先到官网http://tomcat.apache.org/下载安装包,我下载的是最新版的Tomcat9

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz

3、解压并改名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -zxvf apache-tomcat-9.0.12.tar.gz 
mv apache-tomcat-9.0.12 tomcat 

4、启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd tomcat/
bin/startup.sh 

关闭tomcat命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bin/shutdown.sh

5、验证

在浏览器里输入 ip:8080,如果出现下图所示的界面就代表启动成功了。

到这里其实就可以使用tomcat了,可以将应用程序的war包放到tomcat的webapps目录下,也可以自己写一个简单的页面进行测试,如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir webapps/test
vim webapps/test/test.jsp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test tomcat

然后在浏览器里输入 ip:8080/test/test.jsp,就会看到如下页面

6、问题及解决

6.1 点击tomcat首页的Manager App进入管理页面,报没有权限的错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bin/shutdown.sh 
vim webapps/manager/META-INF/context.xml

将Context里面的注释掉即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>-->
</Context>

再启动,验证问题是否还存在。如果成功了,则会出现输入用户名、密码的验证弹出框

参考:https://blog.csdn.net/cai_eternal/article/details/76069314

6.2 增加管理界面的用户名、密码

tomcat默认应该是没有设置用户、密码的、那么需要我们自己改一下配置文件来添加用户名、密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bin/shutdown.sh 
vim conf/tomcat-users.xml

在tomcat-users里添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <user username="admin" password="1234" roles="manager-gui"/>

参考https://blog.csdn.net/txwtech/article/details/80013261 然后启动,就可以出入上面的设置,进入管理页面了

6.3 关闭tomcat时报错(jdk1.8.x的bug)

  • 不确保每个jdk1.8版本或者在每个服务器上都有这个bug 错误如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 bin/shutdown.sh 
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /opt/jdk1.8.0_45/jre
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Oct 24, 2018 1:42:39 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact [localhost:[8005]]. Tomcat may not be running.
Oct 24, 2018 1:42:39 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:211)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:498)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:403)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)

解决办法,例如我的jdk安装目录为:/opt/jdk1.8.0_45

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /opt/jdk1.8.0_45/jre/lib/security/java.security 

找到

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
securerandom.source=file:/dev/random

改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
securerandom.source=file:/dev/./urandom

然后关掉tomcat再重启就好了 参考:https://stackoverflow.com/questions/33868983/severe-could-not-contact-localhost8005-tomcat-may-not-be-running-error-while

关注我

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明互联网技术分享社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
tomcat shutdown.sh结束不了,Could not contact localhost:8005
使用./shutdown.sh关闭Tomcat,有时会关闭成功,有时会出现关闭错误;
拓荒者
2019/03/16
1.5K1
org.apache.catalina.startup.Catalina stopServer SEVERE
在测试nginx反向代理 时在同一个liunx上配置了三个tomcat7,startup.sh时正常启动。shutdown.sh时报错如下:
拓荒者
2019/03/16
3.3K0
启动Tomcat 失败(Unable to start cluster)及解决方法
在配置负载均衡环境过程中修改server.xml  后重启tomcat报错,报错信息如下
星哥玩云
2022/07/03
6280
linux上部署tomcat
待完善。 apache-tomcat-7.0.90/webapps/examples/servlets/index.html apache-tomcat-7.0.90/webapps/examples/servlets/reqheaders.html apache-tomcat-7.0.90/webapps/examples/servlets/reqinfo.html apache-tomcat-7.0.90/webapps/examples/servlets/reqparams.html apach
爱明依
2019/03/12
8.3K0
tomcat无法正常关闭问题分析及解决
这时我们就只能通过强制杀死进程的方式停止Tomcat了:kill -9 <tomcat_process_id>。 那么,为什么使用shutdown.sh无法正常停止Tomcat进程呢?
编程随笔
2019/09/11
2.3K0
tomcat无法正常关闭问题分析及解决
聊聊hikari与tomcat jdbc pool的fail fast
本文主要研究在中途数据库挂的情况下,hikari与tomcat jdbc pool的fail fast情况。
code4it
2018/09/17
1.6K0
Tomcat配置ssl协议及遇到的问题https页面无法访问
查看tomcat报错Invalid keystore format 百度查到证书与tomcat的jdk版本不兼容 升级jdk版本 现版本1.8.0_45升级1.8.0_201
全栈程序员站长
2022/06/29
9660
Centos7.x下Tomcat不能使用80端口的问题小结
1024以下的端口只能由root用户使用,普通权限的用户没有权限。恰好80端口号小于1024,而8080端口号大于1024。 再检查一下当前用户,恰好非root用户。
程裕强
2020/03/18
1.5K0
Mac下Tomcat的安装与使用
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/52901460
Tyan
2019/05/25
1.9K0
K8S集群容器中集成arthas、netstat即时诊断分析工具
背景: k8s 集群中,Java应用容器中添加即时工具分析诊断arthas、netstat
星哥玩云
2022/07/28
3.7K0
Jenkins发布项目 上线404排查 启动失败报错分析 Address already in use (Bind failed) jar包引用顺序
Jenkins发布项目 上线404排查 启动失败报错分析 Address already in use (Bind failed)
oktokeep
2025/03/05
1270
kylin_异常_01_java.io.FileNotFoundException: /developer/apache-kylin-2.3.0-bin/tomcat/conf/.keystore
kylin安装完,启动后,控制正常,kylin后台也能正常访问。但是去看kylin的日志,却发现报错了:
shirayner
2018/08/10
1.1K0
Linux下Tomcat 8 常用命令和优化
可能shutdown.sh 无法停止 tomcat,可以修改其配置 修改shutdown.sh的最后这一行
程裕强
2022/05/06
7840
Tomcat报错—Invalid keystore format ,tomcat启动报错[通俗易懂]
今天在修改了一些代码,然后重新放到服务器上,启动服务器的时候报这个错误!我就很纳闷,修改的文件里面根本就没有涉及到tomcat配置文件的内容怎么会出现这样子内容呢?想了很久也网上百度了很多,很多博客提供的解答都没有解决我的问题,然后我们主管过来看了一会,给出了指导性的建议,去看tomcat下的conf/server.xml 文件。然后逐步排查.
全栈程序员站长
2022/07/19
2.4K0
Tomcat报错—Invalid keystore format ,tomcat启动报错[通俗易懂]
Linux下Tomcat的安装配置
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
全栈程序员站长
2022/09/05
2.3K0
Linux下Tomcat的安装配置
tomcat源码编译和环境搭建(r5笔记第83天)
关于tomcat源码的编译和环境搭建自己也是拖了一段时间,今天还是硬着头皮来做一做,还是有所收获。 tomcat源码的编译还是首选ant,作为apache的顶级项目ant,可以参见下面的链接进行下载,下载一个二进制运行包即可。http://ant.apache.org/bindownload.cgi然后就需要在path中配置了。简单的校验C:\Users\jeanron>ant -versionApache Ant(TM) version 1.9.5 compiled on May 31 2015 然后下载
jeanron100
2018/03/16
1.1K0
tomcat源码编译和环境搭建(r5笔记第83天)
Tomcat入门安装及介绍
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Server和JSP容器,独立的Server容器是Tomcat的默认模式,.不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器. 其他JAVA容器还有resin,weblogic等
王先森sec
2023/04/24
3980
Tomcat入门安装及介绍
Tomcat企业级应用
简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服
用户1173509
2018/03/28
2.1K0
Tomcat企业级应用
tomcat端口号被占用
2011-5-8 23:56:36 org.apache.catalina.core.AprLifecycleListener init
Hongten
2018/09/18
1K0
java.net.SocketTimeoutException: connect timed out 的解决办法
在项目中使用FastDFSClient上传图片/文件时,一直上传失败的,报错:java.net.SocketTimeoutException: connect timed out 表示连接失败的,错误信息部分截图如下:
全栈程序员站长
2022/11/01
3.1K0
java.net.SocketTimeoutException: connect timed out 的解决办法
推荐阅读
相关推荐
tomcat shutdown.sh结束不了,Could not contact localhost:8005
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验