• Tomcat


    相关名次:
    JDK       java开发工具包
    JRE       java运行环境
    SDK       对开发应用的工具包
    J2EE      提供企业版的开发类库
    J2SE      提供标准版的开发类库
    J2ME      提供手机版的开发类库
    运行java服务的中间件:
    tomcat、resin、jbos、webloglc、websphere
    使用saltstack来部署tomcat
    master节点
    yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm 
    yum install salt-minion salt-master
    mkdir -pv /srv/salt
    vim /etc/salt/master
    file_roots:
      base:
        - /srv/salt
    systemctl  enable salt-master
    minon节点
    yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm 
    yum install salt-minion
    vim /etc/salt/minion
    master: 192.168.56.11
    如果出现修改了主机名,但是saltstack端没有生效的情况,那么删除master端的pki、minion.d文件和minion端的minion_id文件,然后重启master和minion。
    最后启动master和minion服务
    systemctl  start salt-master
    systemctl  start salt-minion
    查看可使用的主机并允许
    [root@linux-node1 src]# salt-key 
    Accepted Keys:
    Denied Keys:
    Unaccepted Keys:
    linux-node1.oldboyedu.com
    linux-node2.oldboyedu.com
    Rejected Keys:
    [root@linux-node1 src]# salt-key  -A 
    The following keys are going to be accepted:
    Unaccepted Keys:
    linux-node1.oldboyedu.com
    linux-node2.oldboyedu.com
    Proceed? [n/Y] y
    Key for minion linux-node1.oldboyedu.com accepted.
    Key for minion linux-node2.oldboyedu.com accepted.
    查看minion的状态
    salt-run manage.status
    down:
    up:
        - linux-node1.oldboyedu.com
        - linux-node2.oldboyedu.com


    编写安装部署jdk  sls文件
    mkdir /srv/salt/jdk/files
    cp /usr/local/src/jdk-8u74-linux-x64.tar.gz /srv/salt/jdk/files/
    cd /srv/salt/jdk
    vim install.sls
    jdk-install:
      file.managed:
        - name: /usr/local/src/jdk-8u74-linux-x64.tar.gz
        - source: salt://jdk/files/jdk-8u74-linux-x64.tar.gz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src && tar zxf jdk-8u74-linux-x64.tar.gz && mv jdk1.8.0_74
        - user: root
        - group: root
        - mode: 755
      cmd.run:
          - file: jdk-install
        - name: /usr/local/src/jdk-8u74-linux-x64.tar.gz
        - source: salt://jdk/files/jdk-8u74-linux-x64.tar.gz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src && tar zxf jdk-8u74-linux-x64.tar.gz && mv jdk1.8.0_74 /usr/local/jdk && chown -R root:root /usr/local/jdk
        - unless: test -d /usr/local/jdk
        - require:
          - file: jdk-install

    jdk-config:
      file.append:
        - name: /etc/profile
        - text:
          - export JAVA_HOME=/usr/local/jdk
          - export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
          - export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

    编写安装部署tomcat sls文件
    cd /srv/salt/tomcat
    mkdir files
    cp apache-tomcat-9.0.0.M4.tar.gz /srv/salt/tomcat/files/
    vim install.sls
    include:
      - jdk.install

    tomcat-install:
      file.managed:
        - name: /usr/local/src/apache-tomcat-9.0.0.M4.tar.gz
        - source: salt://tomcat/files/apache-tomcat-9.0.0.M4.tar.gz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src && tar zxf apache-tomcat-9.0.0.M4.tar.gz && mv apache-tomcat-9.0.0.M4 /usr/local/tomcat && chown -R root:root /usr/local/tomcat 
        - unless: test -d /usr/local/tomcat
        - require:
          - file: tomcat-install
    tomcat-config:
      file.append:
        - name: /etc/profile
        - text:
          - export TOMCAT_HOME=/usr/local/tomcat

    编写top.sls文件
    cd /srv/salt/
    vim top.sls
    base:
      'linux-node2.oldboyedu.com':
        - tomcat.install
    执行安装
    salt "linux-node2.oldboyedu.com" state.highstate
    查看是不是在执行,以及执行情况
    salt "linux-node2.oldboyedu.com" saltutil.running

    执行完成后查看java版本,要重新开启一个窗口,要不环境变量不生效
    java -version
    java version "1.8.0_74"
    Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

    启动tomcat
    /usr/local/tomcat/bin/startup.sh 
    目前为之,tomcat已经安装OK。。




    如何自定义我的目录,放在/usr/local/tomcat/webapps/ROOT下面就OK



    学习几个java命令
    Jps
    用来查看基于HotsPot JVM里面所有进程的具体状态,包括进程ID,进程启动的路径等待。与PS命令相似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。使用jps时,不需要传递进程号作为参数。
    直接使用jps -lvm
    Jstack
    如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生的问题。具体的参数可以自己百度。
    Jmap
    打印出某个java进程(使用pid)内存内的,所有对象的使用情况,(如:产生那些对象,及其数量),可以输出所有内存中对象的工具,甚至可以将VM中的heap,以二进制输出成文本。使用方法:jmap -histo pid 如果连用shell  jmap-histo pid >a.log 可以将其保存到文本,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象,jmap -dump:format=b,file=outfile 3024 可将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)或者Jhat一起使用,能够以图像的形式直观的展现出来
    64位机器上使用需要使用如下的命令
    jmap -J-d64 -heap pid

    故障排除:
    1:jps 获取java进程的PID
    2:jstack pid >> java.txt 导出CPU占用高进程的线程栈
    3:top -H -p PID 查看对应进程的哪个线程占用的CPU过高
    4:echo "obase=16;PID" | bc 将线程的PID转换为16进制
    5:在第二步导出java.txt中查找转换成为16进制的线程PID。找到对应的线程栈
    6:分析负载搞的线程栈都是什么业务,优化程序并处理问题

    添加远程连接
    cd /usr/local/tomcat/bin/
    vim catalina.sh
    CATALINA_OPTS="$CATALINA_OPTS 
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=12345
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    -Djava.rmi.server.hostname=192.168.56.1"


    使用zabbix监控tomcat
    rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-java-gateway-3.0.1-1.el7.x86_64.rpm



























  • 相关阅读:
    下载文件 文件名 乱码的问题.
    Powershell 变量
    20101227 [随笔] Roy
    20101022 [随笔] Roy
    20100927 [随笔] Roy
    20101209 [随笔] Roy
    20101123 [随笔] Roy
    20101213 [随笔] Roy
    第一 笔记
    分享Sokcet方式请求HTTP/HTTPS的封装类HttpHelper V2
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/5510407.html
Copyright © 2020-2023  润新知