• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > tomcat 学习总结

tomcat 学习总结

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含tomcat 学习总结等服务器相关知识,网友希望可以进行参考

关于java

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPageJSP)的支持,并提供了作为Web服

务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。


用于mod_proxy状态信息的输出
<Location/balancer-manager>
SetHandlerbalancer-manager
OrderDeny,Allow
Allowfromall
</Location>

安装:
tomcat的安装很简单,只需要解压即可,同时注意tomcat的运行依赖java开发环境
#rpm-ivhjdk-7u9-linux-x64.rpm
java会被安装到/usr/java/jdk1.7.0_09下,同时创建两个链接default和latest。
配置环境变量
cat>>/etc/profile.d/jdk.sh<<EOF
JAVA_HOME=/usr/java/latest
PATH=$JAVA_HOME/bin:$PATH
EOF
#tarxfapache-tomcat-7.0.42.tar.gz-C/usr/local
#cd/usr/local
#ln-svapache-tomcat-7.0.42tomcat
配置环境变量
cat>>/etc/profile.d/tomcat.sh<<EOF
CATALINA_HOME=/usr/local/tomcat
PATH=$CATALINA_HOME/bin:$PATH
EOF
tomcat脚本
#!/bin/sh
#TomcatinitscriptforLinux.
#
#chkconfig:23459614
#description:TheApacheTomcatservlet/JSPcontainer.
JAVA_OPTS='-Xms64m-Xmx128m'
JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat
exportJAVA_HOMECATALINA_HOME
exec$CATALINA_HOME/bin/catalina.sh"$@"

配置:
tomcat的配置文件在$CATALINA_HOME/conf中
其中server.xml是用来配置tomcat实例的
一个tomcat实例叫server,server下面有connector,设定tomcat监听的端口和与浏览器或者代理通信的方式,Engine是Servlet处理器的一个实例,即servlet引擎,为了将

Engine和connect关联起来,需要一个叫service的组件。Engine下面有host组件,是tomcat用来接收请求并进行相应处理的主机或虚拟主机,host组件下放置context组件,一个

context对应host下部署的一个web应用。
其它的组件有
Realm组件,用于认证
Valve,用于过滤,可以实现访问控制和日志记录

Engine相关的配置:
name="Catalina"#用于标识一个引擎
defaultHost="www.kiki.com"#缺省主机
jvmRoute="TomcatA"#在前端apache使用为tomcat做代理时用来区分不同Engine

host组件相关的配置:
name="localhost"标识一个host,须唯一
auotDeploy="true"自动布署,默认为false
appBase="webapps"定义这个主机的应用程序的路径,相对路径是相对于tomcat的安装路径也就是"/usr/local/tomcat"),也可以使用绝对路径
unpackWARs="true"让Tomcat可以自动解压war文件

context相关的配置:
1)docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;切记,docBase的路径名不能与相应的Host中appBase中定义的路径

名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字;
2)path:相对于虚拟)主机根路径而言的URI;如果为空“”,则表示为此虚拟)主机的根路径

tomcat安装后就部署了几个应用,在$CATALINA_HOME/webapps目录下,可以使用浏览器通过8080端口访问localhost这个host(缺省主机),但访问ServerStatus,和ManagerApp,Host

Manager需要认证,可以在$CATALINA_HOME/conf/tomcat-users.xml中配置如下
<rolerolename="manager-gui"/>
<rolerolename="admin-gui"/>
<userusername="gentoo"password="gentoo"roles="manager-gui,admin-gui"/>
即可使用gentoo:gentoo访问,注意tomcat中role即相当与group。

部署应用:
编辑$CATALINA_HOME/conf/server.xml,在Engine容器中添加如下配置,新增一个host和context
<Hostname="www.kiki.com"appBase="/tomcat/app1"
unpackWARs="true"autoDeploy="true">
<Contextpath=""docBase="/tomcat/app1"/>
<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"
prefix="www.kiki.com_access_log."suffix=".txt"
pattern="%h%l%u%t&quot;%r&quot;%s%b"/>
</Host>
根据上述配置,创建/tomcat/app1目录,在
#mkidr-p/tomcat/app1
#cd/tomcat/app1
将使用java开发的web应用放置在/tomcat/app1中即可,


为tomcat做代理:
Tomcat的Web服务器连接器支持两种协议:AJP和HTTP
使用nginx和haproxy为tomcat做代理,只能使用http/https协议进行通信,此时tomcat即是一个完全功能的HTTP服务器,前端配置使用普通的proxy_pass(nginx)和

default_backend(haproxy)即可。

使用apache为tomcat做代理则同时支持http和ajp协议,目前常用的ajp13协议是一种基于二进制格式的在web服务器和tomcat之间传输数据,效率比http更高,所以如果前端使用

apache为tomcat做代理,建议使用ajp类型的连接器。
Apache可以通过mod_jk和mod_proxy模块跟Tomcat整合,但mod_proxy只有在apache2.2.x系列的版本才直接提供,但它可以提供更丰富的功能和安全性;而对于apache1.3.x和2.0.x

来说mod_jk才更适用。

1、要使用mod_proxy与Tomcat实例连接,需要apache已经装载mod_proxy、mod_proxy_http、mod_proxy_ajp和proxy_balancer_module实现Tomcat集群时用到)、mod_slotmem_shm(

被proxy_balancer_module依赖)等模块:

#httpd-M|grepproxy
proxy_module(shared)
proxy_connect_module(shared)
proxy_ftp_module(shared)
proxy_http_module(shared)
proxy_fcgi_module(shared)
proxy_scgi_module(shared)
proxy_ajp_module(shared)
proxy_balancer_module(shared)
proxy_express_module(shared)

2、在httpd.conf的全局配置段或虚拟主机中添加如下内容:
ProxyViaOn
ProxyRequestsOff
ProxyPreserveHostOff

<Proxy*>
Requireallgranted
</Proxy>
ProxyPass/http://10.0.9.1:8080/
ProxyPassReverse/http://10.0.9.1:8080/
#ProxyPass/ajp://10.0.9.1:8009/
#ProxyPassReverse/ajp://10.0.9.1:8009/
<Location/>
Requireallgranted
</Location>

可以选择使用ajp协议或者http
关于如上apache指令的说明:

ProxyPreserveHost{On|Off}:如果启用此功能,代理会将用户请求报文中的Host:行发送给后端的服务器,而不再使用ProxyPass指定的服务器地址。如果想在反向代理中支持虚拟主机,则

需要开启此项,否则就无需打开此功能。

ProxyVia{On|Off|Full|Block}:用于控制在http首部是否使用Via:,主要用于在多级代理中控制代理请求的流向。默认为Off,即不启用此功能;On表示每个请求和响应报文均添加Via:;

Full表示每个Via:行都会添加当前apache服务器的版本号信息;Block表示每个代理请求报文中的Via:都会被移除。

ProxyRequests{On|Off}:是否开启apache正向代理的功能;启用此项时为了代理http协议必须启用mod_proxy_http模块。同时,如果为apache设置了ProxyPass,则必须将ProxyRequests设

置为Off。

ProxyPass[path]!|url[key=valuekey=value...]]:将后端服务器某URL与当前服务器的某虚拟路径关联起来作为提供服务的路径,path为当前服务器上的某虚拟路径,url为后端服

务器上某URL路径。使用此指令时必须将ProxyRequests的值设置为Off。需要注意的是,如果path以“/”结尾,则对应的url也必须以“/”结尾,反之亦然。
另外,mod_proxy模块在httpd2.1的版本之后支持与后端服务器的连接池功能,连接在按需创建在可以保存至连接池中以备进一步使用。连接池大小或其它设定可以通过在ProxyPass中使用

key=value的方式定义。常用的key如下所示:
◇min:连接池的最小容量,此值与实际连接个数无关,仅表示连接池最小要初始化的空间大小。
◇max:连接池的最大容量,每个MPM都有自己独立的容量;都值与MPM本身有关,如Prefork的总是为1,而其它的则取决于ThreadsPerChild指令的值。
◇loadfactor:用于负载均衡集群配置中,定义对应后端服务器的权重,取值范围为1-100。
◇retry:当apache将请求发送至后端服务器得到错误响应时等待多长时间以后再重试。单位是秒钟。

如果Proxy指定是以balancer://开头,即用于负载均衡集群时,其还可以接受一些特殊的参数,如下所示:
◇lbmethod:apache实现负载均衡的调度方法,默认是byrequests,即基于权重将统计请求个数进行调度,bytraffic则执行基于权重的流量计数调度,bybusyness通过考量每个后端服务器的

当前负载进行调度。
◇maxattempts:放弃请求之前实现故障转移的次数,默认为1,其最大值不应该大于总的节点数。
◇nofailover:取值为On或Off,设置为On时表示后端服务器故障时,用户的session将损坏;因此,在后端服务器不支持session复制时可将其设置为On。
◇stickysession:调度器的stickysession的名字,根据web程序语言的不同,其值为JSESSIONID或PHPSESSIONID。
上述指令除了能在banlancer://或ProxyPass中设定之外,也可使用ProxySet指令直接进行设置,如:
<Proxybalancer://hotcluster>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • func统一网络控制器安装配置
  • Python+django 快速建立简易blog
  • 重启IIS怎么重启?重启iis命令详解
  • Windows下的Memcache安装与测试教程
  • apache/iis设置网站的默认首页方法
  • IIS环境启用GZip压缩方法图文详解
  • zabbix常用key和自定义key的讲解
  • windows 2003服务器Gene6 FTP Server安装教程
  • xen server 存储库(sr)损坏的数据恢复方案
  • 绝对超乎你的想像:电脑五大件故障率统计II

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • nginx 与 uwsgi 之上的 moinmoin
    • 网站目录文件权限的安全设置
    • Virtualbox下fedora访问windows下的共享文件夹方法
    • Windows 中 Apache配置 与 虚拟主机 设置
    • windows2003 取消登陆组合键Ctrl+Alt+Delete
    • Windows Server 2003 的启动问题
    • NetApp携手长虹佳华共绘云版图
    • w3wp.exe进程占用内存过高解决办法
    • 如何取消电脑上 power 键关机的功能
    • Windows Server 2008 不能使用Ping命令的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有