8005端口是tomcat本身的端口,如果这个端口在启动时未被tomcat占用的话,就无法使用它自带的shutdown.sh脚本关闭tomcat

接下来我以tomcat-9.0.12为例说明

下载tomcat源码包

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz

因为tomcat是java语言编写的,所以在运行是需要依赖JDK环境,接下来下载JDK

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz

  --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie "直接下载JDK,避免用户验证

源码包下载完成后解压

tar xf apache-tomcat-9.0.12.tar.gz -C /usr/local/
tar xf jdk-8u181-linux-x64.tar.gz -C /usr/local/

  两个源码包解压后,名字都比较长不好管理,可以改名,也可以做软连接,这里我做软连接

ln -s /usr/local/apache-tomcat-9.0.12 tomcat
ln -s /usr/local/jdk1.8.0_181 java

  方便以后使用java命令和tomcat的一些自带脚本

vim /etc /profile
  export JAVA_HOME=/usr/local/java
  export CATALINA_HOME=/usr/local/tomcat
  export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin source /etc/profile

 此时,可以直接使用startup.sh启用tomcat

startup.sh

  Using CATALINA_BASE: /usr/local/tomcat
  Using CATALINA_HOME: /usr/local/tomcat
  Using CATALINA_TMPDIR: /usr/local/tomcat/temp
  Using JRE_HOME: /usr/local/java
  Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
  Tomcat started.

      此时虽然显示Tomcat started,但是Tomcat服务不一定真的启动成功,所以此时需要查询一下

ss -antp | grep java

  LISTEN 0 100 :::8009 :::* users:(("java",pid=1783,fd=54))
  LISTEN 0 100 :::8080 :::* users:(("java",pid=1783,fd=49))

  此时我们发现,Tomcat的8009端口以及8080端口都已经占用,但是8005端口还没有出现,此时不影响使用,只是此时如果使用shutdown.sh无法关闭tomcat

    8080端口:是tomcat负责建立HTTP连接的端口,通过浏览器访问tomcat服务器的web应用时,使用此端口。
    8009端口:是tomcat负责和其他的HTTP服务器建立连接的端口.如nginx和apache互通时使用

  

  为什么在tomcat服务启动时,8005端口没有出现呢?

    是tomcat启用很慢,所以导致8005端口半天启用不起来,此时我们更改一下服务器的熵池大小,可以加速tomcat的启用,也可以有效

  解决tomcat的8005端口起不来的问题。

    首先,我们可以先查看一下此时的熵池大小

    

cat /proc/sys/kernel/random/entropy_avail
50

  可以看见此时我们的熵池很小,接下来我们利用rng-tools工具更改熵池大小

yum -y install rng-tools

  

cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
vim /etc/systemd/system/rngd.service [Service]
ExecStart=/sbin/rngd -f -r /dev/urandom //让它读取另外一个随机数设备来增加熵池大小 systemctl daemon-reload //重新加载一下系统服务
systemctl restart rngd

  

  此时我们再次查看熵池大小

cat /proc/sys/kernel/random/entropy_avail
2287

  熵池的大小发生明显变化,tomcat的启用速度也变化,此时我们将之前启用的tomcat杀掉

killall java
ss -antp | grep java

  再次启用tomcat并查询占用的端口

startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started. ss -antp | grep java | column -t
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",pid=11531,fd=70))
LISTEN 0 100 :::8009 :::* users:(("java",pid=11531,fd=54))
LISTEN 0 100 :::8080 :::* users:(("java",pid=11531,fd=49))

  此时启用是tomcat的三个端口全部启用,需要关闭tomcat可以直接使用自带的shutdown.sh脚本

 

tomcat启动后8005端口未被占用的更多相关文章

  1. wampserver 2.2装好后80端口未被占用,却打不开localhost

    在windows server 2003中装好wampserver2.2后打不开localhost,点击服务全部启动(颜色是橙色)也是打不开,我解决的原因是:安装mysql中sevice中的安装测试服 ...

  2. 系统安装SQL Sever2000后1433端口未开放,如何打开1433端口的解决方法

    这篇文章主要针对Win2003系统安装SQL Sever2000后1433端口未开放,如何打开1433端口的解决方法. 用了几年的Windows2003和SQL Server2000了,不过这个问题倒 ...

  3. Centos7 docker容器启动后添加端口映射

    docker容器启动后添加端口映射的两种方法: 一.通过修改防火墙策略添加端口映射 docker容器已创建好,但是想在容器内配置tomcat监控,需要新的端口去访问,但是映射时没有映射多余端口,此时, ...

  4. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案【原创】

    问题描述: tomcat启动后,console正常,console中语句为: 信息: Server startup in 7291 ms   但浏览器访问首页面http://localhost:808 ...

  5. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案

    转:tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案 检查tomcat与web工程对应版本,tomcat中对应版本的jar包拷贝到web工程 ...

  6. docker容器启动后添加端口映射

    DOCKER 给运行中的容器添加映射端口 方法1 1.获得容器IP 将container_name 换成实际环境中的容器名 docker inspect `container_name` | grep ...

  7. [原创]关于tomcat启动时时候端口被占用,8080,8005,8009

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. Tomcat启动错误,端口占用

    错误信息: Several ports (8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...

  9. 80端口未被占用,无法启动wamp的解决方法(原创)

    起床之后想要弄弄侧边栏的东西,打开wamp居然无法启动apache服务,上网查了之后才知道是需要启动httpd.exe这个程序,测试了很久,80端口也没有被占用,点击启动apache服务的时候弹出co ...

随机推荐

  1. php中,echo,print,var_dump的三个区别

    1.echo语句 echo - 能够输出一个以上的字符串 <?php      echo "<h2>www.dc3688.com</h2>";     ...

  2. 强制不使用“兼容性视图”的HTML代码

    转自:http://www.weste.net/2013/8-9/93109.html 在IE8浏览器以后版本,都有一个"兼容性视图",让不少新技术无法使用.那么如何禁止浏览器自动 ...

  3. the pitfull way to create a uClinux image including gdb.

    After downloaded and installed the GCT's SDK and toolchain, we try to make an our own image which in ...

  4. InnoDB中锁的算法(2)

    Ⅰ.上节回顾 session1: (root@localhost) [test]> select * from l; +---+------+------+------+ | a | b | c ...

  5. 最全的MonkeyRunner自动化测试从入门到精通(5)

    夜神模拟器的安装与配置步骤一:我们为什么会选择使用夜神模拟器呢? 众所周知,Android studio的模拟器运行速度也很快,可以媲美真机.虽然其运行速度很快,可以满足我们测试的需求.但仍存在以下问 ...

  6. nginx基本用法和HTTPS配置

    nginx作用讲解:1.反向代理:需要多个程序共享80端口的时候就需要用到反向代理,nginx是反向代理的一种实现方式.2.静态资源管理:一般使用nginx做反向代理的同时,应该把静态资源交由ngin ...

  7. 关于矩阵快速幂的用法总结QwQ

    umm首先矩阵快速幂的板子就不港了比较简单的还是?就结合二进制地理解一下就好了,代码可以翻蒟蒻の考前续命这里面放了我记得? 主要是说下应用趴? 目前我会的似乎就是个矩阵加速?简单来说就是个给一个递推式 ...

  8. -webkit-line-clamp、-webkit-box-orient vue 打包部署后不起作用??

    场景分析:实际开发中,文字描述过长,需要两行或三行显示缩略显示: 实现过程: 实现过程遇到的问题:打包到线上后发现并没有-webkit-box-orient属性,导致省略号并没有按预期展示: 解决方法 ...

  9. 18.1-uC/OS-III等待多个内核对象

    等待的多个内核对象是指多值信号量和消息队列的任意组合 . 如果想要使用“等待多个内核对象”,就必须事先使能“等待多个内核对象”.“等待多个内核对象” 的使能位于“os_cfg.h”. 1.OSPend ...

  10. GreenDao开源ORM框架浅析

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011133213/article/details/37738943 Android程序开发中,避免 ...