zoukankan      html  css  js  c++  java
  • tomcat启动后8005端口未被占用

    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脚本

     

  • 相关阅读:
    Elasticsearch学习系列之介绍安装
    Python学习系列之文件操作
    Python学习系列之异常处理
    Python学习系列之装饰器
    windows 修改xhsell安全加密配置
    ipv6nginx错误
    zabbix 硬盘状态收集,制作表格
    申请免费ssl证书
    gitlab 搭建与迁移
    mogilefsdBUG mogilefsd[15624]: crash log: Modification of a read-only value attempted at /usr/local/share/perl5/Sys/Syscall.pm line 227
  • 原文地址:https://www.cnblogs.com/xll970105/p/9763993.html
Copyright © 2011-2022 走看看