第一节java的介绍

java需要一个java的运行环境

JDK:包含了好几个java组件,包含类库(API) 开发工具(java) jvm(java虚拟机)JRE(类库)

tomcat:开源  企业级应用, 基于JDK 上的

tomcat自身也是一个web服务器,一般用来服务动态资源

作为JSP容器,包含以下组件:

1 每一个tomcat运行的一个进程叫做一个server,一台服务器上可以作行多个server,每个server监听在不同的端口上,

2 engine引擎:用于存放java代码,并把该代码加以运行得到结果的  类似JVM (java虚拟机)

3连接器:connector:连接器与引擎之间是一一对应的,适用于

service组件:把一个或多个连接器与一个引擎连接起来,一个service可以有多个连接器但只有一个引擎

主机:在一个引擎内部是有多个主机的(虚拟主机)可以基于主机名,端口,ip来定义虚拟主机,一般使用主机名来定义

安装tomcat首先需要安装JDK:

1 JDK又分为两种: openjdk  oraclejdk

centos7有自带openJDK

安装jdk

yum  install  java-1.8.0-openjdk-devel

java –version   查看版本

所有应用环境会通过$JAVA_HOME 来找java的安装目录

设定环境变量

设定;vim    /etc/prodile.d/java.sh

export JAVA_HOME=/usr

2种 安装oracle官方jdk  需要到oracle官方站点下

jdk安装在/usr/java

vim /etc/profile.d/java.sh  编写运行环境

#!/bin/bash

export JAVA_HOME=/usr/java/latest

export PATH=$JAVA_HOME/bin:$PATH

tomcat工作流程:

index.jsp(页面) –它有jsper这个程序翻译为------index_jsp.java -----由javac编辑器转为类文件-----index_jsp.class   ------在引擎上运行(jvm上)

安装tomcat

yum  install  tomcat  -y

tomcat一些可安装组件

安装web相关的包:

# yum install tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp

安装后可以直接启动,运行tomcat是以java进程运行的,监听8080端口

访问 :192.168.1.104:8080

tomcat , 配置文件  server,xml

web.xml:每个webapp只有“部署”后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置;

context.xml:每个webapp都可以专用的配置文件,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认配置;

tomcat-users.xml:用户认证的账号和密码文件;

catalina.policy:当使用-security选项启动tomcat时,用于为tomcat设置安全策略;

catalina.properties:Java属性的定义文件,用于设定类加载器路径,以及一些与JVM调优相关参数;

logging.properties:日志系统相关的配置;

每一个组件都由一个Java“类”实现,这些组件大体可分为以下几个类型:

顶级组件:Server

服务类组件:Service

连接器组件:http, https, ajp(apache jserv protocol)

容器类:Engine, Host, Context

被嵌套类:valve, logger, realm(一个范围), loader, manager, ...

集群类组件:listener, cluster, ...

JSP WebAPP的组织结构:

  /: webapps的根目录       (页面的存放目录)

  index.jsp  :  主页面

  WEB-INF/:当前webapp的私有资源路径;通常用于存储当前webapp的web.xml和context.xml配置文件;

  META-INF/:类似于WEB-INF/;

  classes/:类文件,当前webapp所提供的类;

  lib/:类文件,当前webapp所提供的类,被打包为jar格式

这站点放在cd /var/lib/tomcat/webapps/

如作业test测试页面

创建目录

创建主页面

vim test/index.jsp

<%@ page language="java" %>

<%@ page import="java.util.*" %>

<html>

<head>

<title>Test Page</title>

</head>

<body>

<% out.println("hello world");

%>

</body>

</html>

将test目录放在/var/lib/tomcat/webapps/  这个目录下

启动服务:

systemctl start tomcat.service

在tomcat的页面首部有两个界面

1 manager:是管理应用程序的

2 host-maneger:是管理虚拟主机的 ,能完成虚拟主机的增删改 ,完成热部署

这两个访问首先需要设定用户认证,在tomcat-user.xml

# vim /etc/tomcat/tomcat-users.xml

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat" roles="manager-gui"/>

启动服务讲可以访问了

host  manager  可以在线管理虚拟主机  这种定义的虚拟主机重启服务就没有了,需要定义在配置文件中

tomcat的常用组件配置:

1  Server:代表tomcat instance,即表现出的一个java进程;监听在8005端口,只接收“SHUTDOWN”。各server监听的端口不能相同,因此,在同一物理主机启动多个实例时,需要修改其监听端口为不同的端口;

2 Service:用于实现将一个或多个connector组件关联至一个engine组件;

3 Connector组件:负责接收请求,常见的有三类http/https/ajp;

进入tomcat的请求可分为两类:

1 来自客户端直接的请求

2 来自其他服务器反代的请求

  如:

nginx --> http connector --> tomcat

httpd(proxy_http_module) --> http connector --> tomcat

httpd(proxy_ajp_module) --> ajp connector --> tomcat

配置文件:

对于connector连接器类的属性:  连接器配置

port="8080"

protocol="HTTP/1.1"                     协议

connectionTimeout="20000"

address:监听的IP地址;默认为本机所有可用地址;

maxThreads:最大并发连接数,默认为200;

enableLookups:是否启用DNS查询功能;

acceptCount:等待队列的最大长度

Engine组件:Servlet实例,即servlet引擎,其内部可以一个或多个host组件来定义站点; 通常需要通过defaultHost来定义默认的虚拟主机;

Host组件:位于engine内部用于接收请求并进行相应处理的主机或虚拟主机,

示例:

<Host name="localhost"  appBase="webapps"

unpackWARs="true" autoDeploy="true">

</Host>

host 下的配置说明:

  (1) appBase:此Host的webapps的默认存放目录,指存放非归档的web应用程序的目录或归档的WAR文件目录路径;可以使用基于$CATALINA_BASE变量所定义的路径的相对路径相对程序根目录

(2) autoDeploy:在Tomcat处于运行状态时,将某webapp放置于appBase所定义的目录中时,是否自动将其部署至tomcat

如定义一个虚拟主机: www.xiao.com

mkdir -pv /appdata/xiao

mkdir -pv /appdata/xiao/ROOT/{lib,classes,WEB-INF}

配置主机

<Host name="www.xiao.com" appBase="/appdata/webapps" unpackWARs="true" autoDeploy="true"/>

给它复制一个站点

重启服务

访问测试

www.xiao.com  基于域名访问可能需要在windows下的hosts文件中做域名解析

192.168.1.104      www.xiao.com

定义context组件,作用可以定义重定向,该组件定义在host组件中

在配置文件中定义:

访问: www.xiao.com/eshop

Valve组件:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="localhost_access_log" suffix=".txt"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />

Valve存在多种类型:

定义访问日志:org.apache.catalina.valves.AccessLogValve

定义访问控制:org.apache.catalina.valves.RemoteAddrValve

  

tomcat配置介绍的更多相关文章

  1. Tomcat 配置介绍

    参数说明: maxThreads: 最大可以创建请求的线程数 minSpareThreads: 服务启动时创建的处理请求的进程数 Connector中的port: 创建服务器端的端口号,此端口监听用户 ...

  2. tomcat 配置

    tomcat 安装完成之后,我们可以在器目录先看到有如下结构

  3. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  4. Tomcat配置HTTPS方式生成安全证书

    在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 5.0Tomcat 6.0.16启 ...

  5. 02 - Tomcat配置

    Tomcat配置 本文内容 介绍 Windows UNIX daemon 1.介绍 首选看Tomcat目录下的RUNNING.TXT 2.Windows平台下 可以选择下载windows instal ...

  6. tomcat配置虚拟主机

    在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹, ...

  7. Web开发之tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)

    Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 tomcat解压到的D盘 (路径为: D:\tomcat), 配置环境变量: 启动tomcat需要两 ...

  8. eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)

    我的开发环境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的 ...

  9. Tomcat 配置篇

    Tomcat 配置一.Tomcat 基本介绍 1.关键目录 a) bin 该目录包含了启动.停止和启动其他的脚本,如startup.sh.shutdown.sh等; b) conf 配置文件和一些文档 ...

随机推荐

  1. Django 配置(一)开启服务

    注:这里使用的是命令行创建,当然也可以用 pycharm 自带的 django 项目创建更加简便. 安装django pip install django 创建项目 django-admin star ...

  2. git 创建分支

  3. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

  4. Windows上的程序员神器Cmder

    用过Windows版本Git的都知道Git自带了Git Bash,这个在很大程度上满足了我的需求,随着Git的版本升级越来越好用 安装Cmder Cmder官网,它把conemu,msysgit和cl ...

  5. linux学习之uniq

    uniq最经常用的是统计次数,通常先排序,然后uniq  -c cat a.txt |sort -nr |uniq -c

  6. 牛客网 python 求解立方根

    •计算一个数字的立方根,不使用库函数 详细描述: •接口说明 原型: public static double getCubeRoot(double input) 输入:double 待求解参数 返回 ...

  7. vuejs中使用echarts

    <style scoped> .content { /*自行添加样式即可*/ } #main { /*需要制定具体高度,以px为单位*/ height: 400px; } </sty ...

  8. 如何在cmd中执行python文件

    打开cmd终端 输入python     然后再输入要执行文件的路径 就可以把python文件运行起来                                                  ...

  9. 刷《剑指offer》笔记

    本文是刷<剑指offer>代码中的学习笔记,学习ing.. 衡量时间和空间. 递归的代码较为简洁,但性能不如基于循环的实现方法.

  10. linux下安装pip与pip安装

    在执行脚本的时候,说有库找不到 pip安装的时候说不认识pip 安装pip 使用脚本安装和升级pip wget https://bootstrap.pypa.io/get-pip.py 运行脚本pyt ...