博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat.md
阅读量:7116 次
发布时间:2019-06-28

本文共 5159 字,大约阅读时间需要 17 分钟。

Tomcat

Tomcat的目录结构:

  • bin:脚本及启动时用到的类
  • 1ib:类库
  • conf:配置文件
  • webapps:应用程序默认部署目录
  • work:工作目录
  • temp:临时文件目录

配置文件

  • server.xml:主配置文件
  • context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的WEB-INF目录中,用于定义会话管理器、JDBC等;conf/context.xml是为各webapp提供默认配置;
  • web.xml:每个webapp“部署”之后才能被访问:此文件则用于为所有的webapp提供默认部署相关的配置:
  • tomcat-users.xml:用户认证的账号和密码配置文件:
  • catalina.policy:当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略;
  • catalina.properties:Java属性的定义文件,用于设定类加戴器路径等,以及一些]Vm性能相关的调优参数;
  • logging.properties:日志相关的配置信息:

Java WebAPP组织结构:

有特定的组织形式、层次型的目录结构;主要包含了servlet代码文件、JSP页面文件、类文件、部署描述符文件等;

/usr/1ocal/tomcat/webapps/app1/

  • /:webapp的根目录:
  • WEB-INF/:当前webapp的私有资源目录,通常存放当前webapp自用的web.xml;
  • META-INF/:当前webapp的私有资源目录,通常存放当前webapp自用的context.xml;
  • classes/:此webapp的私有类
  • 1ib/:此webapp的私有类,被打包为jar格式类:
  • index.jsp:webapp的主页

webapp归档格式:

  • .war:webapp
  • .jar:EJB的类
  • .rar:资源适配器
  • .ear:企业级应用程序:

安装JDK

mkdir -p /usr/local/javatar xf jdk-8u191-linux-x64.tar.gz -C /usr/local/javaln -sv /usr/local/java/jdk1.8.0_191 /usr/local/java/latestvim /etc/profile.d/java.shexport JAVA_HOME=/usr/local/java/latestexport PATH=$JAVA_HOME/bin:$PATH. /etc/profile.d/java.shjava

安装Tomcat

cd /usr/local/tar xf apache-tomcat-8.5.37.tar.gz -C /usr/local/ln -sv apache-tomcat-8.5.37/ tomcatcat /etc/profile.d/tomcat.shexport CATALINA_HOME=/usr/local/tomcatexport PATH=$CATALINA_HOME/bin:$PATH. /etc/profile.d/tomcat.shcatalina.sh conftestcatalina.sh startss -tnlpps aux|grep java客户端测试firefox http://192.168.100.101:8080

部署(deployment)webapp相关的操作:

  • deploy:部署,将webapp的源文件旋转于目标目录、配置tomcat服务器能够基于context.xml文件中定义的路径来访问此webapp;将其特有类通过class loader装载至tomcat;

    有两种方式:

    • 自动部署:auto deploy
    • 手动部署:
      1、冷部署:把webapp复制到指定位置,而后才启动tomcat;
      2、热部署:在不停止tomcat的前提下进行的部分;部署工具:manager、ant脚本、tcd(tomcat client deployer)等;
  • undeploy:反部署,停止webapp,并从tomcat实例拆除其部分文件和部署名:

  • stop:停止,不再向用户提供服务;

  • start:启动处于“停止”状态的webapp:

  • redeploy:重新部署;

示例一

手动添加一个测试应用程序

创建webapp特有的目录结构

mkdir myapp/{lib,classed,WEB-INF,META-INF} -pvtree myapp/

提供webapp各文件

vim myapp/index.jsp<%@ page language="java" %><%@ page import="java.util.*" %>			JSP Test Page				<% out.println("This is JSP test Page."); %>	tree /usr/local/tomcat/work/less work/Catalina/localhost/myapp/org/apache/jsp/index_jsp.java客户端测试firefox http://192.168.100.101:8080/myapp/

tomcat自带的应用程序:

manager app:webapp管理工具

host manager:Virtual Hosts管理工具

vim /usr/local/tomcat/conf/tomcat-users.xml
catalina.sh stopcatalina.sh start客户端访问firefox http://127.0.0.1:8080/firefox http://127.0.0.1:8080/host-manager/firefox http://127.0.0.1:8080/manager/

定义一个虚拟主机

cp server.xml{,.backup}vim server.xml 
mkdir -pv /data/{webapps,logs}cp -r /usr/local/tomcat/webapps/myapp/* /data/webapps/catalina.sh configtestcatalina.sh stopcatalina.sh startss -tnl客户端测试echo web1.test.com 192.168.100.101 >> /etc/hostsfirefox http://web1.test.com:8080/

部署一个shopxx虚拟主机

vim server.xml
mv /root/shopxx-3.0Beta/ /data/webapps ln -sv shopxx-3.0Beta/ shopxxcatalina.sh conftestcatalina.sh stopcatalina.sh startss -tnlyum install mariadb-server mariadb -ysystemctl start mariadbss -tnl|grep 3306mysqlgrant ALL on shopxx.* TO shopuser@'127.0.0.1' IDENTIFIED BY 'shoppass';FLUSH PRIVILEGES;

客户端测试

firefox http://web1.test.com:8080/shop

1

2

3

4

5

做访问控制

vim server.xml 
catalina.sh conftestcatalina.sh stopcatalina.sh startss -tnl

客户端测试

curl web1.test.com:8080 -I|grep 403

LNMT

动静分离

client >> http >>nginx >> reverse_proxy >> http >> tomcat(http connector)

yum install -y nginxvim nginx.conf        location ~* \.(jsp|do)$ {                proxy_pass http://web1.test.com:8080;        }nginx -t nginx -s reloadfirefox http://192.168.100.101/index.htmlfirefox http://192.168.100.101/index.jsp

LAMT

client >> http>> httpd>> reverse_proxy>> {http|ajp} >>tomcat {http connector|ajp connector}

反代模块

主 proxy_module
子 proxy_module_http proxy_module_ajp

yum install httpd -y查看httpd有哪些模块httpd -Mless /etc/httpd/conf.modules.d/00-proxy.conf#proxy_module_httpvim /etc/httpd/conf.d/vhosts.conf
ServerName web1.test.com ProxyVia On ProxyRequests Off ProxyPreserveHost On
Require all granted
ProxyPass / http://192.168.100.101:8080/ ProxyPassReverse / http://192.168.100.101:8080/
Require all granted
httpd -t systemctl restart httpd#proxy_module_ajpvim /etc/httpd/conf.d/vhosts.conf
ServerName web1.test.com ProxyVia On ProxyRequests Off ProxyPreserveHost On
Require all granted
# ProxyPass /status ! ProxyPass / ajp://192.168.100.101:8009/ ProxyPassReverse / ajp://192.168.100.101:8009/
Require all granted
httpd -tsystemctl restart httpdfirefox http://web1.test.comfirefox http://192.168.100.101

LNAMT

nginx >> apache> tomcat

nginx做负载均衡
apache管理tomcat
apache只做连接请求

转载于:https://www.cnblogs.com/fina/p/10209265.html

你可能感兴趣的文章
access_log每周回滚方法分割一次成access_log.1....
查看>>
centos 6.5 ntp 服务器搭建
查看>>
server2008r2网卡绑定
查看>>
HTML5基础标签一
查看>>
linux下配置socks 5代理
查看>>
CentOS 7 不能连接Kvm虚拟机console.....
查看>>
利用组策略部署软件——将软件发布给用户
查看>>
开心城市能否再创“偷菜”辉煌
查看>>
域名服务DNS--(1)
查看>>
算法学习之路|逆元取模(二)
查看>>
科技,让奥运更智能:阿里云ET大脑推动奥运时代变革
查看>>
修改SSH端口,对Oracle集群的影响
查看>>
vSphere部署系列之05——虚拟机的创建和设置
查看>>
进程间通信的方式及比较
查看>>
Pnp安装过程
查看>>
Linux 下 Oracle 10g 安装“三部曲”
查看>>
ubuntu面板恢复方法
查看>>
高通总裁回应博通收购:5G就要来了 合作伙伴需要定心丸
查看>>
CCNP-18 IS-IS试验1(BSCI)
查看>>
Comet和WebSocket
查看>>