tomcat配置详解

主程序:

·tomcat
·tomcat-admin-webapps
·tomcat-webapps
·tomcat-docs-webapp
·java-1.8.0-openjdk

配置文件:

配置文件目录:/etc/tomcat
主配置文件:server.xml
webapps存放位置:/var/lib/tomcat/webapps/
webapps的根目录
·index.jsp:主页;
·WEB-INF/:当前webapp的私有资源路径;通常用于存储当前webapp的web.xml和context.xml配置文件;
·META-INF/:类似于WEB-INF/;
·classes/:类文件,当前webapp所提供的类;
·lib/:类文件,当前webapp所提供的类,被打包为jar格式
环境配置文件:/etc/sysconfig/tomcat
·server.xml:主配置文件;
·web.xml:每个webapp只有“部署”后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;
·context.xml:每个web都可以专用的配置文件,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中;
·tomcat-users.xml:用户认证的账号和密码文件;
·catalina.policy:当使用-security选项启动tomcat时,用于为tomcat设置安全策略;
·catalina.properties:Java属性的定义文件,用于设定类加载器路径,以及一些与JVM调优相关参数;
·logging.properties:日志系统相关的配置

测试类代码:

        #hello world
<%@ page language=”java” %>
<%@ page import=”java.util.*” %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println(“hello world”);
%>
</body>
</html>
#session会话测试
<%@ page language=”java” %>
<html>
<head><title>TomcatB</title></head>
<body>
<h1><font color=”blue”>TomcatB.magedu.com</font></h1>
<table align=”centre” border=”1″>
<tr>
<td>Session ID</td>
<% session.setAttribute(“magedu.com”,”magedu.com”); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>

常用组件配置:

·Server:代表tomcat instance,即表现出的一个java进程;监听在8005端口,只接收“SHUTDOWN”。各server监听的端口不能相同。


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


·Connector:

负责接收请求,常见的有三类http/https/ajp;
进入tomcat的请求可分为两类:
(1) standalone : 请求来自于客户端浏览器;
(2) 由其它的web server反代:来自前端的反代服务器;
nginx –> http connector –> tomcat
httpd(proxy_http_module) –> http connector –> tomcat
httpd(proxy_ajp_module) –> ajp connector –> tomcat
属性:
port=”8080″
protocol=”HTTP/1.1″
connectionTimeout=”20000″
address:监听的IP地址;默认为本机所有可用地址;
maxThreads:最大并发连接数,默认为200;
enableLookups:是否启用DNS查询功能;
acceptCount:等待队列的最大长度;


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

属性:
name=
defaultHost=”localhost”
jvmRoute=


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

示例:
<Host name=”localhost” appBase=”webapps”
unpackWARs=”true” autoDeploy=”true”>
</Host>
常用属性说明:
(1) appBase:此Host的webapps的默认存放目录,指存放非归档的web应用程序的目录或归档的WAR文件目录路径;
(2) autoDeploy:在Tomcat处于运行状态时,将某webapp放置于appBase所定义的目录中时,是否自动将其部署至tomcat;
示例:
<Host name=”tc1.magedu.com” appBase=”/appdata/webapps” unpackWARs=”true” autoDeploy=”true”>
</Host>


·Context组件:

示例:
<Context path=”/PATH” docBase=”/PATH/TO/SOMEDIR” reloadable=””/>


·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
<Valve className=”org.apache.catalina.valves.RemoteAddrValve” deny=”172\.16\.100\.67″/>

manger应用程序:

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

修改密码即可登录;

tomcat配置详解

基本配置目录:

1.HTTP反代Tomcat:
2.Nginx反代Tomcat:
3.Http集群反代:
4.Nginx集群反代:
5.会话粘性:
6.启用管理接口:
7.memcache会话保持:

1.HTTP反代Tomcat:

示例:
<VirtualHost *:80>
ServerName www.ilinux.io
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://www.ilinux.io:8080/
ProxyPassReverse / http://www.ilinux.io:8080/
<Location />
Require all granted
</Location>
</VirtualHost>

2.Nginx反代Tomcat:

示例:
location / {
proxy_pass http://www.ilinux.io:8080;
}

3.Http集群反代:

示例:
<proxy balancer://websrvs>
BalancerMember http://172.16.42.2:8080
BalancerMember http://172.16.42.3:8080
ProxySet lbmethod=byrequests
</Proxy>
<VirtualHost *:80>
ServerName www.ilinux.io
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass / balancer://tcsrvs/
ProxyPassReverse / balancer://tcsrvs/
<Location />
Require all granted
</Location>
</VirtualHost>

4.Nginx集群反代:

示例:
upstream websrvs {
server 172.16.42.2;
server 172.16.42.3;
}
location / {
proxy_pass http://websrvs;
}

5.会话粘性:

#Nginx的会话粘性只要在upstream中添加(hash $request_uri consistent)即可,以下讲HTTP的会话粘性;
#在顶头添加以下一行;
Header add Set-Cookie “ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/” env=BALANCER_ROUTE_CHANGED
<proxy balancer://websrvs>
BalancerMember http://172.18.100.67:8080 route=TomcatA loadfactor=1
BalancerMember http://172.18.100.68:8080 route=TomcatB loadfactor=2
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>
<VirtualHost *:80>
ServerName lb.magedu.com
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass / balancer://websrvs/
ProxyPassReverse / balancer://websrvs/
<Location />
Require all granted
</Location>

</VirtualHost>

6.启用管理接口:

#在以上代码中,添加以下代码即可;
<Location /status-manager>
SetHandler balancer-manager
ProxyPass !
Require all granted
</Location>

7.memcache会话保持:

1.在Tomcat主机下载好MSM;
lftp 172.18.0.1:/pub/Sources/7.x86_64/msm> mget *
2.在Tomcat主机的server.xml中的contxt中添加以下代码;
<Context path=”/test” docBase=”/usr/local/tomcat/webapps/test” reloadable=”true”>
<Manager className=”de.javakaffee.web.msm.MemcachedBackupSessionManager”
memcachedNodes=”n1:172.16.42.2:11211,n2:172.16.42.3:11211″
failoverNodes=”n1″
requestUriIgnorePattern=”.*\.(ico|png|gif|jpg|css|js)$”
transcoderFactoryClass=”de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory”
/>
</Context>
3.在memcache主机上yum安装memcache;
yum -y install memcache

原创文章,作者:z long,如若转载,请注明出处:http://www.178linux.com/84230

(1)
z longz long
上一篇 2017-08-08
下一篇 2017-08-08

相关推荐

  • OpenStack Icehouse私有云实战部署

    前言 相信你一定对“云主机”一词并不陌生吧,通过在Web页面选择所需主机配置,即可快速定制一台属于自己的虚拟主机,并实现登陆操作,大大节省了物理资源。但这一过程是如何实现的呢?本文带来OpenStack Icehouse私有云实战部署。 OpenStack 简介 OpenStack是由网络主机服务商Rackspace和美国宇航局联合推出的一个开源项目,Ope…

    Linux干货 2015-07-29
  • Linux LVM

    Linux LVM 前言     LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。无论在Linux或者其他类似…

    系统运维 2016-04-24
  • vim文本编辑器使用

    vim文本编辑器使用

    2017-09-20
  • 配置逻辑卷·设定LVM快照·btrfs文件系统

    _ueditor_page_break_tag_ 配置逻辑卷,设定LVM快照,btrfs文件系统                 逻辑卷管理器( LVM)v允许对卷进行方便操作的抽象层,包括重新设定文…

    Linux干货 2016-09-01
  • 编译安装dropbear和使用

    一、概念 Dropbear是一个相对较小的SSH服务器和客户端。它运行在一个基于POSIX的各种平台。 Dropbear是开源软件,在麻省理工学院式的许可证。 Dropbear是特别有用的“嵌入”式的Linux(或其他Unix)系统,如无线路由器。 二、功能 dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省…

    Linux干货 2016-10-04
  • 网络知识点

    1. 实现异地搭建局域网的方法1>. 让运行商拉专线,这是相当昂贵的。2>.  VPN (Virtual PrivateNetwork)  虚拟专用网络 2. VPN的隧道协议主要有三种:PPTP、L2TP和IPSec。其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议。 2. …

    Linux干货 2016-09-01