01 . Tomcat简介及部署

Posted 周常见(you-men)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01 . Tomcat简介及部署相关的知识,希望对你有一定的参考价值。

Tomcat软件介绍

Tomcat服务器是一个免费的开放源代码的Web应用服务器,运行jsp和servlet,使用HTTP与客户端(通常是浏览器)进行通信。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍应用,是开发和调试JSP程序的首选,因为Tomcat技术先进,性能稳定,成为目前比较流行的Web应用服务器,Tomcat是应用(java)服务器,他只是一个servlet容器,是apache的扩展,但他是独立运行的.

tomcat软件本身是Java语言编写的,所以需要jdk的环境才能运行,且java语言编写的应用程序在启动时会有一个编译的过程,所以java语言编写的应用程序的启动速度相对于C语言编写的应用程序会慢一些。

# 常用的编写动态页面的语言: php——> LAMP  LNMP
# 借助于php的应用程序实现对php页面的解析java(jsp -- java server pages)

# 开源工具<网站服务器>

# WebLogical           > Oracl         重量级商业工具,用于解析大型java项目
# WebSphere            > IBM           重量级商业工具
# resin Python         > CAUCHO        使用Django模块,编写动态页面
# Jboss

JAVA

了解java吗?

java三大平台,1999年SUN发不了基于java的三个平台技术标准。

? JAVASE: java标准平台,允许开发和部署在桌面,服务器,嵌入式环境和实时环境中使用的JAVA应用程序。比如做一个桌面版QQ。

? JAVAEE: java企业平台,可帮助开发和部署可移植,健壮,可伸缩且安全的服务器端java应用程序。EE是基于SE基础上构建的,提供web服务,组件模型,挂了你和通信API,可以用来实现企业级的面向服务体系结构和web等应用程序

? JAVAME: java微型平台,也叫K-JAVA,用来开发和部署可以只和嵌入式设备(比如手机和打印机等).

java是如何跨平台的?

Java通过产生一种和系统平台无关的文件,然后再在各个平台的电脑上撞上模拟器(JVM虚拟机),让跨平台的文件运行在模拟器里面。

# 原理:
# 1.编译之后会生成与平台无关的字节码文件
# 2.得以来不同平台的虚拟机(JVM)
# JVM是不跨平台    
JRE,JDK,JVM分别是什么?
#    JRE:  java运行环境,如果运行java程序,就需要JRE支持,JRE里面包含JVM
#    JDK:  java开发工具,包含java程序的所有工具,如javac和java等,JDK里包含JRE。
#    JVM是JAVA语言的运行环境,也是java最具吸引力的特性之一。JVM用于读取并处理编译过的与平台无关的字节码class文件,从而实现java的移植性。但是JVM是不跨平台的。
#    JVM是java程序的解释和执行器.

Tomcat常见的架构:

  1. tomcat本身即解析动态页面,又解析静态页面,适用于访问量极小的情况 client tomcat
  2. 静态页面的请求由httpd负责;动态页面,配置apache将请求转交给tomcat来完成,整合apache和tomcat需要Mod_jk的模块。这两款软件都是apache组织编写的,所以兼容性较好。
    http://tomcat.apache.org/download-connectors.cgi client HTTPD tomcat
  3. 客户端访问的是静态页面直接由nginx解析;动态页面,使用nginx的反向代理功能,代理到后端的tomcat服务器上面,由tomcat来响应客户端的动态页面。当然nginx的代理也可以开启缓存功能,将后端tomcat服务器上经常访问的页面缓存到本地,来提高响应效率。

这里的nginx即做静态页面的响应又完成反向代理的功能 client Nginx代理 tomcat tomcat

  1. nginx只是做代理使用,client访问静态页面,代理到后端的httpd,jsp的动态页面代理到tomcat,实现网站页面的动静分离

Tomcat的安装

yum安装
curl -o /etc/yum.repos.d/163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo &>/dev/null
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
yum install java-1.8.0-openjdk
yum install tomcat-webapps tomcat-admin-webapps
systemctl start tomcat
ss -antp |grep java
LISTEN     0      100         :::8009                  :::*          users:(("java",pid=7979,fd=50))
LISTEN     0      100         :::8080                  :::*          users:(("java",pid=7979,fd=49))
tar包安装

1.安装JDK环境

# CentOS7安装Java,有tar包和rpm包两种
        1>. rpm -ivh jdk-8u121-linux-x64.rpm
        2>. tar xvf jdk-8u151-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_151/ jdk
tail -2 /etc/profile
JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

2.安装Tomcat

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz
tar xvf apache-tomcat-8.5.47.tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-8.5.47/ /usr/local/tomcat
tail -1 /etc/profile
export CATALINA_HOME=/usr/local/tomcat

source /etc/profile
env |grep -i home
CATALINA_HOME=/usr/local/tomcat
HOME=/root

3.启动Tomcat

/usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
ss -antp |grep java
LISTEN     0      100          *:8009                     *:*                   users:(("java",pid=857,fd=58))
LISTEN     0      100          *:8080                     *:*                   users:(("java",pid=857,fd=53))
LISTEN     0      1      127.0.0.1:8005                     *:*                   users:(("java",pid=857,fd=73))

Tomcat三个端口

# 8005:    是tomcat本身的端口,本地管理端口号  
# 8080:    主端口号,是tomcat负责建立http连接的端口,通过浏览器访问tomcat服务器的web 应用时,使用此端口  
# 8009:    是tomcat负责和其他http服务器建立连接的端口,ajp的编辑器  

Tomcat启动脚本

vim /etc/init.d/tomcat
#!/bin/bash
#chkconfig: 2345 96 14
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CATALINA_HOME=/usr/local/tomcat
exec $CATALINA_HOME/bin/catalina.sh $*

$*将脚本本身自带的参数全部传递过来,就是catalina.sh --help看到的所有的参数start stop等

chmod +x /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on
service tomcat start
systemctl status tomcat
tail -f catalina.out 服务启动不起来查看这个日志文件

部署(deploy)webapp的相关操作

将应用程序文件和其依赖的类资源都放到主页面路径里
部署的两种方式:
1.自动部署: auto deploy
2.手动部署:

冷部署: 把webapp复制到指定的位置,而后才启动tomcat;
热部署: 在不停止tomcat的前提下进行部署: (支持热部署)

部署工具: manager,ant脚本,tcd(tomcat client deployer)等
undeploy: 拆除(反部署),停止webapp,并从tomcat实例上卸载webapp;

Jar包介绍

#很多时候开发会给我们一个jar包,让我们进行运行,命令如下
nohup java  -jar  jar包名称.jar  > user.out &






以上是关于01 . Tomcat简介及部署的主要内容,如果未能解决你的问题,请参考以下文章

部署Tomcat 及 nginx+tomcat负载均衡

Tomcat部署及优化

tomcat 说明及部署

Tomcat简介--01

附:Tomcat简介&JPress部署&多实例&优化

Tomcat服务部署虚拟主机配置及参数优化