• Tomcat安装,多实例搭建及案例


    Tomcat安装,多实例搭建及案例

    未分类


    • cat zt | grep -A 10 过滤出以后向前显示10行 
      cat zt | grep -B 10 向后 
      cat zt | grep -C 10 向前向后个显示10行
    • printf “%x ” 937 
      把PID937转换为16进制
    • strace -p PID 追踪PID号的线程
    • jstack:装Tomcat肯定得装JDK,就会有jstack命令。用来精确定位出错的代码段
    • tomcat特点:最占内存的,内存够,运行速度就快
    • Tocat是java的容器,运行的是java代码
    • linux默认是有python的,而没有java 
      tomcat默认监听8080端口
    • 在通过浏览器访问时需要指定端口进行访问
    • java的压缩叫war包,打包命令叫jar。php的压缩包叫tar,打包命令叫tar。
    • 网页目录(webapps)下的ROOT目录不能删除,其它都能删除,以及ROOT下的所有文件及目录都能删除
    • 如果访问网页文件时不想看见子目录,那么就把这个网页文件放到webapps下的ROOT目录中。把网页文件放到ROOT目录中,就相当于没有任何路径
    • tomcat和PHP有个区别 
      当tomcat的网页目录有更新,必须重启服务器,tomcat有很大的缓存。 
      而PHP则不用重启服务器
     

    一.安装

    tomcat需要安装java的环境,也就是需要安装java

     

    1.1准备

    (1)JDK下载(java环境):http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
    Tomcat下载:http://tomcat.apache.org/ 
    (2)二进制包 
    4.png-7.4kB

     

    1.2安装JAVA

     

    1.2.1解压(二进制包直接解压不用编译),并作软连接

    5.png-11.3kB

     

    1.2.2添加环境变量

    sed -i.ori '$a export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
    6.png-120.2kB
    7.png-9.2kB
    至此java安装完成

     

    1.3安装tomcat

     

    1.3.1解压,作软连接

    8.png-5.8kB

     

    1.3.2修改环境变量

    echo 'export TOMCAT_HOME=/usr/local/tocat' >> /etc/profile 
    source /etc/profile 
    9.png-14.9kB
    10.png-19.5kB

     

    1.3.3用yum安装命令

    11.png-18kB

    12.png-17.5kB

    14.png-264.1kB
    除了ROOT目录之外的都可以删除,ROOT里的东西也可删除。ROOT里的东西是Tomcat的web管理端的文件,它的管理端是有漏洞的,黑客容易对其进行入侵,在工作中一般不用

     

    1.3.4启动tomcat

    /usr/local/tomcat/bin/startup.sh 
    15.png-19.7kB
    关闭防火墙service iptables stop 
    关闭安全机制setenforce 0 
    自此Tomcat启动成功

     

    1.4通过浏览器访问

    16.png-148.5kB

     

    1.5查看配置文件17.png-196.8kB

     

    1.5.1tomcat有个默认的管理功能(工作中虽然不用,但要尝试配置一次)

    vim tomcat-users.xml

    18.png-21.1kB
    之后保存退出

    重启tomcat 
    /usr/local/tomcat/bin/shutdown.sh 
    /usr/local/tomcat/bin/startup.sh 
    19.png-24.5kB

     

    1.5.2在浏览器登陆

    20.png-268.7kB

    21.png-498.6kB
    这就是tomcat管理端。当然在工作中不经常用

     

     

    2.1.1tomcat主配置文件server.xml

    23.png-97.4kB

     

    2.1.2端口

    24.png-92.9kB

     

    2.1.3 8005端口演示

    25.png-92.6kB
    可以远程操作tomcat服务。所以得修改它的端口

     

    修改

    8005端口 
    26.png-63.4kB
    8080监听端口 
    27.png-43kB
    8009端口 
    28.png-33.4kB
    重新启动服务,8009端口会消失 
    29.png-6.4kB
    引擎及IP访问时的默认网站 
    conf/server.xml 
    31.png-61.7kB

     

    三,web站点部署

     

    3.1.1修改配置文件,并重启服务

    32.png-51.2kB
    重启服务

     

    3.1.2

    33.png-59.8kB

     

    3.1.3

    34.png-5.7kB

    35.png-14.8kB
    会发现它自动出现目录(将war包自动进行解压缩),如果没有,那么就重新启动tomcat服务

    36.png-28.7kB

     

    3.1.4在浏览器进行访问

    37.png-7.7kB
    38.png-42.8kB
    至此java的web服务器就部署好了

     

    但是访问的时候是访问的子目录

    39.png-61.4kB
    方法(1): 
    40.png-11.9kB
    41.png-27.1kB

     

    四.tomcat多实例部署

     

    4.1.1

    42.png-22.9kB

     

    4.1.2 修改配置文件

    43.png-77kB

    47.png-20.5kB

    46.png-9.9kB

    45.png-11.7kB

    44.png-11.4kB
    每个实例的端口都不能一致

     

    修改另一个实例的配置文件。

    除了端口不能一致,其它的都一样

    为什么设置两个多实例的网页目录一致? 
    因为在工作当中web服务器看的是同一个网页代码,只不过是分成了多个web服务器。这里设置为同一个网页目录相当于起到了多实例负载均衡的效果

     

    之后重新启动两个多实例tomcat服务

    启动多实例tomcat服务 
    48.png-24.8kB
    49.png-9.6kB

     

    启动tomcat服务

    64.png-73.8kB

     

    通过浏览器访问

    51.png-20.4kB
    52.png-22kB
    53.png-24kB
    至此多实例完成

     

    五.tomcat集群

    相当于tomcat前方加了nginx作反向代理 
    Nginx配置文件中注意的 
    54.png-31.5kB

     

    六.tomcat安全优化和性能优化

     

    6.1 安全优化(必做)

    最重要的为一下4项 
    (1)降权启动(用普通用户启动tomcat) 
    (2)telent管理端口保护(8005端口。要改成别的) 
    (3)ajp连接端口保护(8009端口。注释掉或者删除掉) 
    (4)禁用管理端(web界面,不用它的web管理界面。清空ROOT下的所有东西,webapps中要保留ROOT目录,其它的留不留无所谓)

    • 降权启动 
      55.png-252.7kB

    • 管理端口保护 
      56.png-142.7kB

     

    6.2性能优化(重要的几个)

     

    6.2.1屏蔽DNS的查询(DNS反向解析会影响效率)

    57.png-124.2kB

     

    6.2.2 JVM调优(最重要)

    主要是对tomcat的堆栈内存作优化 
    58.png-133.7kB
    59.png-576.4kB

     

    企业案例Linuxjava/http进程高的解决方案

    61.png-206.4kB

    62.png-78.2kB

     

    步骤

     

    (1)先用top命令过滤出哪个进程导致的问题(找出占用CPU最高的进程号)

    64.png-73.8kB

     

    (2)查看这个进程所有的系统调用(再找出是哪个PID号的线程导致的)

    streace -p PID 
    65.png-64.3kB
    如果是937线程有问题,那么就用到 
    printf “%x ” 937 是把937转换成16进制(在内存中的都是16进制)

     

    (3)之后再用jstack

    66.png-86.2kB
    67.png-547.1kB
    下来把这些内容打印给开发,他就知道是哪的问题

     

    七.使用Tomcat部署Jpress

     

    7.1 获取安装包及解压,增加环境变量

    1.png-10.1kB
    2.png-24.7kB

     

    7.2 将jpress-web-newest.war包放到Tomcat网站根目录下

    3.png-25kB

     

    7.1 在浏览器输入访问进行安装(需要mysql)

    4.png-73.9kB

    7.png-63.7kB

  • 相关阅读:
    洛谷P2066 机器分配【dp】
    [HNOI2004]打鼹鼠【dp】
    [ZJOI2008][BZOJ1037] 生日聚会Party|动态规划]
    Java中Map<Key, Value>存储结构根据值排序(sort by values)
    LATEX如何写多个条件推导式推出一个结论
    书列荐书 |《黑天鹅&#183;如何应对不可预知的未来》【美】纳西姆 尼古拉斯 塔勒布 著
    Java | Stream流、泛型、多线程 | 整理自用
    书列荐书 |《代码整洁之道》之 类 的设计
    书列荐书 |《认知红利》 谢春霖著
    eclipse集成processing、PApplet、proclipsing 问题
  • 原文地址:https://www.cnblogs.com/zhangtao11/p/9996094.html
Copyright © 2020-2023  润新知