apache 重定向tomcat端口_Tomcat
1.Web服务器介绍Web服务器可以解析HTTP协议,收到请求后可以进行响应,比如响应静态资源、进行页面跳转等Web服务器响应可委托给CGI脚本、JSP脚本、ASP脚本、服务器端JS等程序或其它服务器端技术Web服务器通常产生一个html响应以便浏览器浏览2.常见Web服务器Web服务器根据对JavaEE的支持程度分为JavaEE服务器以及Web容器JavaEE服务器
- 包括WebSphere、WebLogic、JBoss、Geronimo等
- 特点是重量级、对JavaEE技术规范支持比较全面、功能强大
Web容器(Servlet/JSP容器)
- 包括Tomcat、Jetty等
- 仅对Servlet、JSP进行支持,并不支持所有JavaEE技术规范
- 特点是轻量级、速度快、开源免费
3.Tomcat概述Tomcat是官方推荐的Servlet/JSP容器Servlet/JSP的最新规范都可以在Tomcat的新版本中得到实现4.Tomcat目录
webapps下有一个ROOT目录,无需在URL加上项目名即可访问其内的资源Tomcat的下载与安装
1.Tomcat的下载与安装在Tomcat官网https://tomcat.apache.org/根据自己的JDK的版本选择Tomcat并下载
直接解压安装2.Tomcat环境变量配置新建CATALINA_HOME环境变量,变量值为Tomcat的解压安装位置新建CATALINA_BASE环境变量,变量值默认与CATALINA_HOME一致,可选在Path环境变量中追加如下配置
%CATALINA_HOME%\bin和%CATALINA_HOME%\lib
在DOS命令行中输入startup并回车,启动Tomcat在浏览器中输入localhost:8080并回车,Tomcat安装成功则出现以下页面
关闭Tomcat窗体或直接ctrl+c即可终止Tomcat服务器3.IDEA中Tomcat的配置打开File->Settings->Build, Execution, Deployment->Application Servers,点击加号
选择Tomcat Server
Tomcat环境变量设置好之后,Tomcat Home和Tomcat base directory会被自动填好,点击确认
这样就在IDEA中配置好了Tomcat
server.xml配置文件
1.server.xml配置文件概述server.xml位于Tomcat安装目录下的conf目录下,是Tomcat的主配置文件server.xml提供Tomcat组件的初始配置server.xml说明了Tomcat的结构,使Tomcat通过实例化组件完成自身构建以及启动可以在Tomcat安装目录的webapps\docs\config下查看server.xml配置说明2.server.xml配置详解Server
- port:监听关闭Tomcat请求的端口
- shutdown:关闭Tomcat请求需要向监听端口发送的命令字符串
Service
- name:service的名字
Connector(表示客户端和Service之间的连接,以HTTP/1.1Connector为例,HTTP/2、AJP有所不同)
- port:服务器监听客户端请求的端口号
- minProcessors:服务器启动时创建用于处理请求的线程数
- maxProcessors:可以创建用于处理请求的最大线程数
- enableLookups:
- true:可调用request.getRemoteHost()进行DNS查询,得到远程客户端的实际主机名
- false:不进行DNS查询,直接返回IP地址
- redirectPort:服务器正在处理HTTP请求时收到一个SSL传输请求后重定向的端口号
- acceptCount:所有可使用的处理请求线程数都被使用时,可以放到处理队列中的请求数,请求超过这个数则不予处理
- connectionTimeout:连接超时时间,以毫秒为单位
Engine(表示Service中用于接收和处理来自Connector请求的处理机)
- defaultHost:指定缺省的请求处理主机名,至少与一个Host元素的name属性一致
Context(表示一个Web应用程序)
- docBase:应用程序路径或War包路径
- path:Web应用程序URL的前缀
- reloadable:设置为true,则可以自动装载新应用程序而无需重启
Host(表示一个虚拟主机)
- name:主机名
- appBase:存放应用程序的目录
- unpackWARS
- true:Tomcat自动将War包解压
- false:直接从War包中运行应用程序
Realm(表示存放用户名、密码及role的数据库)
- className:指定Realm使用的类名,该类须实现org.apache.catalina.Realm接口
Valve(表示记录应用程序的访问信息的日志)
- className:指定Valve使用的类名,该类须实现org.apache.catalina.AccessLogValve接口
web.xml配置文件
1.web.xml配置文件概述web.xml包含了描述整个Web应用程序的信息可以在Tomcat安装目录的webapps\docs\appdev下找到web.xml.txt,查看详细配置说明2.web.xml配置文件部分配置设置欢迎页面,应用程序响应第一个可以找到的欢迎页面
<welcome-file-list> <welcome-file>欢迎页面1welcome-file> <welcome-file>欢迎页面2welcome-file> <welcome-file>欢迎页面3welcome-file> ...welcome-file-list>
设置报错页面
<error-page> <error-code>HTTP响应状态码error-code> <location>报错页面路径location>error-page><error-page> <exception-type>异常类全类名exception-type> <location>报错页面路径location>error-page>
设置Session过期时间,单位为分钟
<session-config> <session-timeout>Session过期时间session-timeout>session-config>
Tomcat部署项目
1.静态部署方式一:webapps目录是Tomcat默认的应用目录,服务器启动时会加载这个目录下所有的应用可以将Web项目拷贝到webapps目录下进行部署方式二:War包是具有特殊格式的Jar包,是将一个Web项目中所有内容进行压缩得到可以通过DOS命令行或IDEA将项目打成War包然后将War包放到webapps目录下进行部署方式三:在server.xml配置文件Host元素后面配置应用程序的Context配置
<Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
方式四:在Tomcat安装目录的conf下找到或新建Catalina目录在Catalina目录下找到或新建名称为Web项目所在服务器域名的目录,本地则为localhost新建一个xml文件,名称需要与Web应用程序URL的前缀一致该xml内容如下
<?xml version="1.0" encoding="UTF-8"?><Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
5.动态部署(热部署)Tomcat提供了admin和manager两个管理程序admin用于管理和配置Tomcat服务器manager用于管理Tomcat服务器上的应用程序Tomcat中manager四种角色如下
- manager-gui
- allows access to the HTML GUI and the status pages
- 允许访问html接口(即URL路径为/manager/html/*)
- manager-script
- allows access to the text interface and the status pages
- 允许访问纯文本接口(即URL路径为/manager/text/*)
- manager-jmx
- allows access to the JMX proxy and the status pages
- 允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
- manager-status
- allows access to the status pages only
- 允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
在Tomcat安装目录的conf目录tomcat-user.xml配置文件中添加角色和用户,方式如下
<tomcat-users> <role rolename="角色1"/> <role rolename="角色2"/> ... <user username="用户1" password="用户1密码" roles="角色1,角色2..."/> <user username="用户2" password="用户2密码" roles="角色1,角色2..."/> ...tomcat-users>
重启Tomcat后登录Tomcat管理控制台http://localhost:8080/,点击Manager App
在弹出框输入配置的用户名和密码,进入Tomcat应用程序管理者页面
通过填写Web项目信息,或者直接上传War包进行部署
Tomcat架构解析
1.Tomcat体系结构
2.ConnectorConnector是Tomcat的两大核心组件之一Connector最重要的功能就是接收请求并分配线程然后让Container进行请求处理Connector的设计核心理念是多线程的处理Tomcat有两个经典的Connector,一个侦听浏览器HTTP请求,一个侦听其它WebServer的请求Connector处理请求步骤
- 在指定的端口上侦听并接收浏览器发来的TCP连接请求
- 接收请求后创建用于交换数据的Request以及Response对象
- 创建线程处理请求并将Request和Response对象传给Engine
- 从Engine获取响应并返回给客户端
3.ContainerContainer是Tomcat的两大核心组件之一,一个Container可对应多个ConnectorContaiiner是容器的父类,由Engine、Host、Context、Wrapper四种容器组件构成
Wrapper
- 通常一个Servlet类对应一个Wrapper
- 如有多个Servlet就定义多个Wrapper
Context
- 如有多个Wrapper就要定义一个更高级的Container,比如Context
- Context定义在父容器Host中
Host
- Host不是必需的
- 运行War包必须要Host,因为War包里面的web.xml文件解析需要Host
Engine
- 如有多个Host就要定义一个顶层容器Engine
- Engine没有父容器,一个Engine代表一个完整的Servlet引擎
apache 重定向tomcat端口_Tomcat相关推荐
- apache集成tomcat,并根据域名进行分发 屏蔽端口显示
注:这里仅考虑apache做跳转 1.首先保证 mod_jk.so 版本正确,根据apache和tomcat的版本去http://www.apache.org寻找合适的mod_jk. 下载后copy到 ...
- Apache服务器+tomcat配置
2019独角兽企业重金招聘Python工程师标准>>> 1.安装Apache服务器 1.1 Windows下安装Apache 打开Apache Server的官网,可以看到上面只提供 ...
- 使用Apache对Tomcat进行负载均衡
翻译:疯狂的技术宅 原文标题:Load balancing tomcat with Apache 原文链接:http://programmergate.com/loa... 本文首发微信公众号:充实的 ...
- apache与tomcat连接
安装httpd 2.2版本 #yum install httpd #cd /usr/lib64/httpd/modules/ #ls --需要apache已经装载mod_proxy.mod_pr ...
- apache+jk+tomcat集群+session同步
说明借前人之鉴写一篇关于tomcat集群及session同步的问题首先介绍tomcat集成及做集群的原因和必要性session同步的作用.然后包括各软件的安装配置. 原理tomcat 做个WEB服务器 ...
- apache整合tomcat部署集群
近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以a ...
- linux安装apache mysql tomcat
1. 安装Apahce, PHP, MySQL以及php连接mysql库组件. #yum -y install httpd php mysql mysql-server php-mysql 2. 安 ...
- window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...
- Apache+php+tomcat+mysqlon linxu
Apache+php+tomcat+mysqlon linxu 讲座内容 ·什么是tomcat ·apache与tomcat的连接方式 ·在Linux系统上来搭建JSP环境.PHP环境 ·在搭建好的J ...
最新文章
- 帝国cms75商城包含电脑端手机端h5微信小程序的界面功能演示
- NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(一)
- python 把数据 json格式输出
- hdu 2111 Saving HDU (DP)
- vue --- 全局注册子组件,并导入全局的子组件
- apache 2.4 httpd.conf 详解_Linux Centos服务子系统详解
- mysql数据库txt备份linux_linux备份mysql数据库
- Scrapy-Item Pipeline(项目管道)
- Js 通过点击改变css样式
- 新浪微博API使用方法
- jquery的DOM节点操作(替换元素节点)
- git commit 参数详解 --amend
- github注册,使用方法
- android 缓存头像,android 实现类似微信缓存和即时更新好友头像
- 快速理解Raft之日志复制(肝了两千五百字)
- linux机械硬盘提速,4个机械硬盘优化设置技巧 让你的硬盘速度飞起来
- PTA:7-15 计算圆周率 (15分)
- 2013年07月26日
- 华师计算机基础在线作业秋,17秋华师《计算机基础》在线作业 (答案)
- Mac系统设置文件的默认打开方式
热门文章
- 才知道创建数据表的后面int(M)的m居然和存储大小没有关系
- 不能上传图片和编辑内容很慢,望改进
- AI大牛纷纷离职!2021大厂AI Lab现状盘点,网友:名存实亡
- 超神了!因为一次接口超时,我一路排查到了内核代码
- 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!...
- 银行背景下分库分表技术选型
- 面试官:你写的单例模式有空指针异常,请你用Volatile改一下。我愣了五分钟...
- 大厂面试官必问的Mysql锁机制
- 太赞了!副业月入3W的技术大佬的公众号,学起来!
- Linux 内核代码行数达到 2700 万行量级