tomcat的简单使用

安装oracle JDK

     下载软件

     Jdk-8u25-linux-x64.rpm

     Apache-tomcat-8.0.23.tart.gz

clip_image001

安装jdk

clip_image002

主要的文件在/usr/java

clip_image003

配置java的环境变量

clip_image004

    #. /etc/profile.d/java.sh

安装tomcat

有两种安装方法

    1)使用yum中的base源

    #Yum intsall tomcat tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp

    tomcat:主程序包

    Tomcat-webapps:是一个初始的页面实例

    Tomcat-admin-webapps:管理各个实例的GUI接口页面

     Tomcat-docs-webapp:查看tomcat文档的页面实例

   2)使用tomcat的二进制发行版

# tar xf apache-tomcat-VERSION.tar.gz -C /usr/local/

# cd /usr/local

# ln -sv apache-tomcat-VERSION tomcat

#cat /etc/profile.d/tomcat.sh

export CATALINA_BASE=/usr/local/tomcat

export PATH=$CATALINA_BASE/bin:$PATH

注意:一下是以第二种方法安装的tomcat进行演示的

 

tomcat的目录结构

bin:脚本,及启动时用到的类;

conf:配置文件目录;

lib:库文件,Java类库,一般为jar后缀;

logs:日志文件目录;

temp:临时文件目录;

webapps:webapp的默认目录;

work:工作目录;

tomcat的配置文件:

server.xml:主配置文件;

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

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

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

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

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

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

tomcat的使用

1)建立以简单应用

# mkidr -pv /usr/local/tomcat/webapps/test/{classes,lib,WEB-INF}

创建文件/usr/local/tomcat/webapps/test/index.jsp

<%@ page language="java" %>

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

<html>

<head>

<title>Test Page</title>

</head>

<body>

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

%>

</body>

</html>                

#catalina.sh start

#ss -tnl 查看是否启动

8080:位web的访问接口

8009:远程控制tomcat的CLI

访问server status和host manager的应用服务

#vim /usr/local/tomcat/conf/tomcat-users.xml 添加下面几行

clip_image005

具体在生产中的应用场景

1)使用LNM

在nginx服务器配置文件

#vim /etc/nginx/nginx.conf

location / {

proxy_pass http://你的tomcat主机ip:8080;

}

2)使用LAM

在httpd中有两种方向代理模块

proxy_http_module:适配http协议客户端;

proxy_ajp_module:适配ajp协议客户端;

在httpd服务器配置文件

#vim /etc/httpd/conf.d/tomcat_proxy.conf

<VirtualHost *:80>

ServerName zorro.com

ProxyRequests Off

ProxyVia On

ProxyPreserveHost On

<Proxy *>

Require all granted

</Proxy>

ProxyPass / http://zorro:8080/

ProxyPassReverse / http://zorro:8080/

<Location />

Require all granted

</Location>

</VirtualHost>

tomcat的集群实现

1)httpd + tomcat cluster

2)nginx + tomcat

Httpd + tomcat cluster

第一种方法的实现:

<proxy balancer://tcsrvs>

BalancerMember http://172.18.100.67:8080

BalancerMember http://172.18.100.68:8080

ProxySet lbmethod=byrequests

</Proxy>

<VirtualHost *:80>

ServerName lb.magedu.com

ProxyVia On

ProxyRequests Off

ProxyPreserveHost On

<Proxy *>

Require all granted

</Proxy>

ProxyPass / balancer://tcsrvs/

ProxyPassReverse / balancer://tcsrvs/

<Location />

Require all granted

</Location>

</VirtualHost>               

会话粘性的实现方法:

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

<proxy balancer://tcsrvs>

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://tcsrvs/

ProxyPassReverse / balancer://tcsrvs/

<Location />

Require all granted

</Location>

</VirtualHost>

nginx + tomcat

定义upstream servers {

Server 172.18.52.1:8080 check ;

Server 172.18.52.5:8080 check;

least_conn;

}

定义一个location进行反向代理

location / {

    proxy_pass http://servers;

}

如果压迫实现会话绑定

upstream servers {

Server 172.18.52.1:8080 check ;

Server 172.18.52.5:8080 check;

ip_hash;

}

转载于:https://www.cnblogs.com/luoxz/p/6892470.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值