设为首页 收藏本站
查看: 1074|回复: 0

[经验分享] Tomcat简单的使用和配置

[复制链接]

尚未签到

发表于 2018-12-1 09:23:36 | 显示全部楼层 |阅读模式
  Tomcat简介  
  Tomcat主要由servlet和jsp组成,是精简版的 JAVA EE;servlet是服务器端的一个容器,当用户请求应用程序的时候,servlet接收客户端的请求,并把的请求的类文件或源文件在虚拟机中运行一次,把运行的结果封装成html语言,返回给用户.so,servlet需要有java开发环境(JDK).但是servlet有个原生性的缺陷,就是所有的html语言都要硬编码进java语言中.这就催生了jsp,jsp也是一个java类,jsp在前端入口处,他可以识别html语言中嵌入的jsp代码,从而把jsp程序交给后端的servlet处理,而html语言则不原封不懂的显示.而在jsp中执行这类操作的工具叫做jsper.
  Apache早期也在研究可以运行jsp的JAVA EE Application Servers,叫做catanila,后来sun公司把自己的研究JAVA EE Application Servers无偿捐献给了Apache,Apache命名为Tomcat,所以现在的Tomcat中可以见到很多catanila的身影   

  1.首先要安装JDK,java的运行环境
        1: rpm -ivh jdk-7u9-linux-x64.rpm
  2: rpm -ql jdk
2.导出java的环境变量
  1: vim /etc/profile.d/java.sh
  2: export JAVA_HOME=/usr/java/latest
  3: export PATH=$JAVA_HOME/bin:$PATH
  4:  . /etc/profile.d/java.sh           #重读配置文件
  5: java -version 验证环境变量是否配置成功
3.安装配置tomcat,建议把tomcat的所有文件改成普通用户的权限,使用普通用户运行  
  1: tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local
  2: ln -sv apache-tomcat-7.0.42/ tomcat
  3: vim /usr/local/tomcat/conf/server.xml:重要的配置文件
  4: /usr/local/tomcat/temp/  :编译后的jsp文件
  5: /usr/local/tomcat/webapps/ : 默认网页文件
  6: /usr/local/tomcat/bin : 一些可执行脚本
4.导出tomcat的环境变量


  1: vim /etc/profile.d/tomcat.sh
  2: export CATALINA_HOME=/usr/local/tomcat
  3: export PATH=$CATALINA_HOME/bin:$PATH
  4: . /etc/profile.d/tomcat.sh
  5: catalina.sh version  : 运行此命令,如果成功则表示导出环境变量成功  5.启动查看tomcat
  
  1: catalina.sh configtest 测试语法是否有误
  2: catalina.sh start | stop停止
  3:  ss -tpnl
  4:  jps  显示主机运行的java程序及程序的id号,如果显示Bootstrap说明运行成功
6.访问IP:8080

  7.查看tomcat的配置文件


  1: vim /usr/local/tomcat/conf/server.xml
  2:
  3:     --------------------顶级组件,最外层,一个运行在JVM的tomcat实例,以线程运行,一个进程多个线程
  4:     -------------------顶级组件,容器类组件,服务,将连接器关联至引擎的.一个service只能有一个引擎,可以有多个连接器
  5:     ---------------连接器组件,接受用户请求至tomcat,监听套接字的,可定义多个
  6:     -------------------容器类组件,核心组件,处理connector接受的请求,解析编译处理这些请求,一般叫catalina引擎,可以有多个,一个实现一组服务,一个引擎可以有多个连接器,如下图
  7:     ---------------------可以用于任何容器类的组件中,关联一个用户认证库,实现认证和授权
  8:      --------------------Realm中可以签到Realm
  9:      -------------------
10:     --------------------
11:     ----------------------容器类组件,定义虚拟主机的
12:       -----------------容器类组件,有点类似alias,定义一个应用程序的部署,最内存的容器,一个context代表一个web程序,配置context的主要目的是指定对应webapp的根目录
13:       ----------------
14:     ---------------------
15:     ----------------------可以有多个,一个host就一个虚拟主机,一般只支持基于主机名的虚拟主机
16:       -----------------嵌套类组件,阀门,拦截请求的,并将其转至对应的webapp之前进行某种操作:如记录日志 access log value(记录日志) remote address filter value(基于ip做访问控制) 可以用于任何容器中
17:     ---------------------
18:     -------------------
19:     ------------------
20:     -------------------
http://lidefu.blog.运维网.com/attachment/201405/10/3429777_1399712231bumr.png  大致图如下

  上图,三个容器类的组件:engine,host,context
  8.修改和增加tomcat监听的端口
  
  1: vim /usr/local/tomcat/conf/server.xml
  2:
  3:
  6:     
  9:  redirectPort="8443" ------如果是https就转到8443端口
9.为tomcat提供Sysv服务脚本
  vim /etc/rc.d/init.d/tomcat
  chkconfig --add tomcat
  #!/bin/sh
  # Tomcat init script for Linux.
  #
  # chkconfig: 2345 96 14
  # description: The Apache Tomcat servlet/JSP container.
  # JAVA_OPTS='-Xms64m -Xmx128m'    #堆的最小和最大使用空间,在服务器这值通常很大,几十G
  JAVA_HOME=/usr/java/lastest
  CATALINA_HOME=/usr/local/tomcat
  export JAVA_HOME CATALINA_HOME
  case $1 in
  start)
  exec $CATALINA_HOME/bin/catalina.sh start ;;
  stop)
  exec $CATALINA_HOME/bin/catalina.sh stop;;
  restart)
  $CATALINA_HOME/bin/catalina.sh stop
  sleep 2
  exec $CATALINA_HOME/bin/catalina.sh start ;;
  *)
  echo "Usage: `basename $0` {start|stop|restart}"
  exit 1
  ;;
  esac
  exec 在当前shell中执行脚本,所以不会在脚本中继续往下运行了
  10.Connector连接器的可选参数


  1:  
  4:
  8:
以后自己定义的时候可能还要加上证书的路径  1) address:指定连接器监听的地址,默认为所有地址,即0.0.0.0;
  2) maxThreads:支持的最大并发连接数,默认为200,很重要的一个参数;
  3) port:监听的端口,默认为0;
  4) protocol:连接器使用的协议,默认为HTTP/1.1,定义AJP协议时通常为AJP/1.3;
  5) redirectPort:如果某连接器支持的协议是HTTP,当接收客户端发来的HTTPS请求时,则转发至此属性定义的端口;
  6) connectionTimeout:等待客户端发送请求的超时时间,单位为毫秒,默认为60000,即1分钟;
  7) enableLookups:是否通过request.getRemoteHost()进行DNS查询以获取客户端的主机名;默认为true,解析的非常慢,为了提高性能,可以设置为false;
  8) acceptCount:设置等待队列的最大长度;通常在tomcat所有处理线程均处于繁忙状态时,新发来的请求将被放置于等待队列中;一旦maxThreads满了,就开始排队
  11.engine
    定义默认虚拟主机的
  12.host
  
  unpackWARs="true"   自动展开打包文件
  autoDeploy="true"  tomcat启动时,自动部署
  13.自定义虚拟主机


  1:
  3:                 
  4:                 
  5:         
  8:              
appBase=="" 如果不指绝对路径,则表示相对路径  Context path="" 访问的uri路径
  docBase="/www/webapp"  表示相对于根目录的其他目录,如果就是根目录,就把根目录重写一遍,网页文件的存放位置
  docBase="test" 相对于/www/webapp/test,经测试也可以当别名使用(uri使用)
  网页文件测试页


  1:
  2:
  3:
  4:   
  5:     JSP test page.
  6:   
  7:   
  8:     
  9:   
10:   14.server status


  1: vim /usr/local/tomcat/conf/tomcat-users.xml
  2:
  3:   15.Host Manager


  1: vim /usr/local/tomcat/conf/tomcat-users.xml
  2:
  3:
  4:



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641825-1-1.html 上篇帖子: linux下配置tomcat、resin 下篇帖子: 一台centos7.2服务器安装两个tomcat应用服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表