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

[经验分享] Tomcat配置及其LNMT/LAMT/LNAMT实现方式

[复制链接]
发表于 2018-12-2 11:40:53 | 显示全部楼层 |阅读模式
      一、简介

      前面所讲的web服务主要是apache和nginx,apache适合比较重量级的并发,且不适合并发小文件,而nginx则有这一优点,除此之外tomcat在企业级应用中比较广泛,因为此web应用比较安全,漏洞比较少,Tomcat服务器是一个免费的开源的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选,受到当今互联网企业的青睐。
  

    二、Tomcat安装

      搭建tomcat运行环境需分两步实现,jdk+tomcat,tomcat的安装方式有两种,系统自带的rpm包安装及其使用官方的二进制包,同时jdk的安装方式也有两种,系统自带的rpm包及官方下载的oracle的jdk的rpm包。

      安装方式一如下所示:

yum -y install java-1.7.0-openjdk_x86_64 java-1.7.0-openjdk-devel_x86_64
yum -y install tomcat tomcat-lib tomcat-webapps tomcat-admin-webapp   安装方式二如下所示:

rpm -ivh jdk-7u79-linux-x64.rpm
tar xf apache-tomcat-7.0.57.tar.gz -C /usr/local/  
ln -s apache-tomcat-7.0.57 tomat
vi /etc/profile.d/tomcat.sh #通过官网下载二进制包及其rpm安装的tomcat和jdk需导入环境变量
CATALINA_BASE=/usr/local/tomcat #tomcat导入环境变量
PATH=$CATALINA_BASE/bin:$PATH
export CATALINA_BASE PATH
vi /etc/profile.d/java.sh  #java导入环境变量,和方式一安装jdk环境变量有很大的区别
JAVA_HOME=/usr/java/latest
PATH=$JAVA_HOME/bin:$PATH  

      三、Tomcat配置文件详解  
     其配置文件如下:
[root@node2 conf]# ll
total 204
drwxr-xr-x 6 tomcat tomcat     87 Nov 20 19:24 Catalina
-rw------- 1 tomcat tomcat  12257 Nov  3  2014 catalina.policy #当使用-security选项来启动tomcat实例时,会读取配置文件来实现基于安全的策略运行方式
-rw------- 1 tomcat tomcat   6294 Nov  3  2014 catalina.properties #catalina相关属性配置
-rw------- 1 tomcat tomcat   1394 Nov  3  2014 context.xml #每个webapps都可以有专用的配置文件,这些配置文件通过位于webapps应用程序自己的目录下的WEEB-INF目录中,此content.xml为每个webapps提供默认配置
-rw------- 1 tomcat tomcat   3288 Nov  3  2014 logging.properties #日志系统相关配置
-rw------- 1 tomcat tomcat   8815 Nov 21 20:52 server.xml #主配置文件
-rw------- 1 tomcat tomcat   1663 Nov 20 19:17 tomcat-users.xml #用户认证和账号和密码文件
-rw------- 1 tomcat tomcat 163385 Nov  3  2014 web.xml #每个webapps只有在部署后才能够被访问,此文件则用于为各个webapps定义默认的部署方式
[root@node2 conf]#
#web相关的组织结构
index.jsp #当前webapps的主页
WEB-INF/:当前webapps的私有资源目录,通常存放当前webapps自用的web.xml  
META-INF/:当前webapps的私有资源目录,通常存放webapps自用的content.xml
class/:类文件,当前webapps的私有类
lib/:当前webapps的私有类被打包成jar的格式  
webapps的归档格式:
    .war:webapp
    .jar:ejb的类打包文件
    .rar:资源配置类打包文件
    .ear:企业及webapps
导入环境变量:
cat java.sh
JAVA_HOME=/usr/java/latest
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
cat tomcat.sh
CATALINA_BASE=/usr/local/tomcat
PATH=$CATALINA_BASE/bin:$PATH
export CATALINA_BASE PATH  
    四、启动tomcat配置应用


      手动添加一个测试应用目录:

      1、创建一个webapps特有的目录结构

      mkdir -pv myapp/{class,WEB-INF,META-INF,lib}

      2、提供一个webapps的主页面(自行解决)

      3、启动应用程序,访问默认主页面及其myapp页面

      systemctl start tomat   

      实验图如下:

      http://s2.运维网.com/wyfs02/M01/8A/9E/wKioL1g1k3zi-20xAAF_TDZYncg185.png
     访问自定义页面/myapp/: http://s3.运维网.com/wyfs02/M00/8A/A2/wKiom1g1kByRbxZjAAAVIcze2Oc189.png
      4、启动管理页面工具编辑tomcat-user.xml配置文件,添加如下配置重启服务。



      http://s3.运维网.com/wyfs02/M00/8A/9E/wKioL1g1lMaCGKmRAAFl-vOQEFo076.png   

     

    五、实战配置LNMT/LAMT、LNAMT实现动静分离

     
  LNMT实现说明:只需配置nginx的server标签,在标签中添加proxy_pass http://ip:8080即可向后端主机反代。

      http://s1.运维网.com/wyfs02/M00/8A/A2/wKiom1g1mPGhK5q9AAGN1v5NnXU626.png
      基于LAMT实现方式有两种,一种基于http,另一种基于ajp,如下配置:

1、第一种方式的配置机制,使用虚拟主机

ServerName web.alren.com
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On

Require all granted

ProxyPass / http://node2.alren.com:8080/
proxyPa***everse / http://node2.alren.com:8080/

Require all granted


2、使用ajp机制,使用虚拟主机   

ServerName web.alren.com
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On

Require all granted

ProxyPass / ajp://node2.alren.com:8009/
proxyPa***everse / ajp://node2.alren.com:8009/

Require all granted

     
      当配置成功后访问主页,模拟前端代理宕机,则原有的代理将不会反代至其页面,报错为请求不存在,无法访问页面。
      http://s3.运维网.com/wyfs02/M02/8A/9E/wKioL1g1nFzieD-6AAGXSoWiprE420.png

  

     LNAMT实现方式则通过nginx做前端调度,将用户的请求反代至后端的主机,其实现方式非常简单,只需在nginx上配置upstream组即可,在server标签中调用即可,结合正则表达式模式匹配可实现动静分离。另起一台服务器其配置简单化代码如下所示:

http {
.....
upstream tcsrvs {
server 10.1.10.65:8080;
server 10.1.10.66:8080;
    }
    .....
}
server {
......
location ~* \.(jsp|do)$ {
proxy_pass http://tcsrvs;
    }
    ......
}     
   

     
      总结:tomcat的配置比起apache/ngnix略微复杂一点点,但了解过前面所学的web知识再来配置tomcat,可以说是游刃有余,与此同时,可采用http做前端调度,其实现效果不亚于nginx,其可实现会话粘性等,此内容将在以后的文章中介绍。

  

  

  

  

  





运维网声明 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-642340-1-1.html 上篇帖子: tomcat 配置详解 下篇帖子: 创建Dockerfile,构建jdk+tomcat环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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