zoukankan      html  css  js  c++  java
  • tomcat -> 简介&部署

    Tomcat 简介

    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

    Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。

    目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。

    Tomcat官网: http://tomcat.apache.org

    JDK描述

    JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

    JDK包含了一批用于Java开发的组件,其中包括:

    javac:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码
    java:运行工具,运行.class的字节码
    jar:打包工具,将相关的类文件打包成一个文件
    javadoc:文档生成器,从源码注释中提取文档,注释需匹配规范
    jdb debugger:调试工具
    jps:显示当前java程序运行的进程状态
    javap:反编译程序
    appletviewer:运行和调试applet程序的工具,不需要使用浏览器
    javah:从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。
    javaws:运行JNLP程序
    extcheck:一个检测jar包冲突的工具
    apt:注释处理工具 
    jhat:java堆分析工具
    jstack:栈跟踪程序
    jstat:JVM检测统计工具
    jstatd:jstat守护进程
    jinfo:获取正在运行或崩溃的java程序配置信息
    jmap:获取java进程内存映射信息
    idlj:IDL-to-Java编译器。将IDL语言转化为java文件 
    policytool:一个GUI的策略文件创建和管理工具
    jrunscript:命令行脚本运行
    

    JDK中还包括完整的JRE(Java Runtime Environment),Java运行环境,也被称为private runtime。包括了用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如国际化与本地化的类库、IDL库等等。

    安装Tomcat & JDK

    安装时候选择tomcat软件版本要与程序开发使用的版本一致。jdk版本要进行与tomcat保持一致。

    系统环境说明

    [root@web03 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    [root@web03 ~]# uname -a 
    Linux web03 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    [root@web03 ~]# getenforce 
    Disabled
    [root@web03 ~]# systemctl status firewalld.service
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)

    安装JDK

    tar xf jdk-8u60-linux-x64.tar.gz -C /application/
    ln -s /application/jdk1.8.0_60 /application/jdk
    
    # 设置环境变量
    cat >>/etc/profile<<'EOF'
    export JAVA_HOME=/application/jdk
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
    EOF  

    测试jdk是否安装成功↓

    [root@web03 ~]# java -version
    java version "1.8.0_60"
    Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
    Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

    安装Tomcat

    tar xf apache-tomcat-8.0.27.tar.gz -C /application/
    ln -s /application/apache-tomcat-8.0.27 /application/tomcat
    # 设置环境变量
    echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
    source /etc/profile
    # 注意授权,统一权限
    chown -R root.root /application/jdk/ /application/tomcat/
    

    检查tomcat是否安装成功↓

    [root@web03 ~]# /application/tomcat/bin/version.sh
    Using CATALINA_BASE:   /application/tomcat
    Using CATALINA_HOME:   /application/tomcat
    Using CATALINA_TMPDIR: /application/tomcat/temp
    Using JRE_HOME:        /application/jdk
    Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
    Server version: Apache Tomcat/8.0.27
    Server built:   Sep 28 2015 08:17:25 UTC
    Server number:  8.0.27.0
    OS Name:        Linux
    OS Version:     3.10.0-693.el7.x86_64
    Architecture:   amd64
    JVM Version:    1.8.0_60-b27
    JVM Vendor:     Oracle Corporation

    Tomcat的管理

    #  启动程序/application/tomcat/bin/startup.sh
    #  关闭程序/application/tomcat/bin/shutdown.sh
    

    检查tomcat是否启动正常

    [root@web03 ~]# netstat -lntup  |grep java
    tcp6       0      0 :::8080         :::*                   LISTEN      30560/java          
    tcp6       0      0 127.0.0.1:8005          :::*          LISTEN      30560/java          
    tcp6       0      0 :::8009                 :::*           LISTEN      30560/java   
    

    启动完成浏览器进行访问

    10.0.0.xx:8080

    Tomcat多实例配置

    多虚拟主机:nginx 多个Server标签(域名,ip,端口) 进程数量固定 master+worker

    多实例(多进程):同一个程序启动多次,分为两种情况:

        第一种:一台机器跑多个站点; 

        第二种:一个机器跑一个站点多个实例,配合负载均衡

    复制程序文件

    cd /application/tools/
        tar xf apache-tomcat-8.0.27.tar.gz
        cp -a apache-tomcat-8.0.27 tomcat01
        cp -a apache-tomcat-8.0.27 tomcat02

    修改端口,以启动多实例。多实例之间端口不能一致

    sed -i 's#8005#8011#;s#8080#8081#' tomcat8_1/conf/server.xml
    sed -i 's#8005#8012#;s#8080#8082#' tomcat8_2/conf/server.xml
    

    将配置好的tomcat程序打包,以备之后使用

    tar zcf muti_tomcat8.tar.gz ./tomcat01 ./tomcat02
    

    启动tomcat多实例  

    /application/tomcat01/bin/startup.sh 
    /application/tomcat02/bin/startup.sh
    

    检查端口是否启动

    [root@web03 tomcat8_1]# netstat -lntup |grep java
    tcp6   0   0 127.0.0.1:8011    :::*    LISTEN   31906/java
    tcp6   0   0 127.0.0.1:8012    :::*    LISTEN   31932/java
    tcp6   0   0 :::8080           :::*    LISTEN   31812/java
    tcp6   0   0 :::8081           :::*    LISTEN   31906/java
    tcp6   0   0 :::8082           :::*    LISTEN   31932/java
    tcp6   0   0 127.0.0.1:8005    :::*    LISTEN   31812/java
    tcp6   0   0 :::8009           :::*    LISTEN   31812/java
    

    将每个实例的网页进行区分

    echo 8081 >>/application/tomcat01/webapps/ROOT/index.jsp 
    echo 8082 >>/application/tomcat02/webapps/ROOT/index.jsp
    

    在浏览器访问,进行测试

  • 相关阅读:
    linux C总结篇(进程)
    进程与线程的区分
    递归的两种思路
    Linux下git与github的一般使用
    文件读写和文件指针的移动
    文件的创建,打开与关闭
    一个简单脚本
    linux 三剑客命令(grep,sed ,awk)
    常用正则表达式
    PAT:1002. A+B for Polynomials (25) 部分错误
  • 原文地址:https://www.cnblogs.com/tim1blog/p/9891430.html
Copyright © 2011-2022 走看看