Tomcat配置及其LNMT/LAMT/LNAMT实现方式

简介:

一、简介

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


    二、Tomcat安装

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

    安装方式一如下所示:

1
2
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

    安装方式二如下所示:

1
2
3
4
5
6
7
8
9
10
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配置文件详解  

    其配置文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[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   

    实验图如下:

    wKioL1g1k3zi-20xAAF_TDZYncg185.png 

   访问自定义页面/myapp/: wKiom1g1kByRbxZjAAAVIcze2Oc189.png

    4、启动管理页面工具编辑tomcat-user.xml配置文件,添加如下配置重启服务。

1
2
3
<role rolename= "manager-gui" />
<role rolename= "admin-gui" />
<user username= "tomcat"  password= "tomcat"  roles= "manager-gui,admin-gui" />

    wKioL1g1lMaCGKmRAAFl-vOQEFo076.png    

    

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

    

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

    wKiom1g1mPGhK5q9AAGN1v5NnXU626.png

    基于LAMT实现方式有两种,一种基于http,另一种基于ajp,如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1、第一种方式的配置机制,使用虚拟主机
<VirtualHost *:80>
ServerName web.alren.com
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On
<Proxy *>
Require all granted
< /Proxy >
ProxyPass / http: //node2 .alren.com:8080/
proxyPassReverse / http: //node2 .alren.com:8080/
<Location />
Require all granted
< /Location >
< /VirtualHost >
2、使用ajp机制,使用虚拟主机    
<VirtualHost *:80>
ServerName web.alren.com
ProxyRequests Off
ProxyVia On
ProxyPreserveHost On
<Proxy *>
Require all granted
< /Proxy >
ProxyPass / ajp: //node2 .alren.com:8009/
proxyPassReverse / ajp: //node2 .alren.com:8009/
<Location />
Require all granted
< /Location >
< /VirtualHost >

    

    当配置成功后访问主页,模拟前端代理宕机,则原有的代理将不会反代至其页面,报错为请求不存在,无法访问页面。

    wKioL1g1nFzieD-6AAGXSoWiprE420.png


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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,其可实现会话粘性等,此内容将在以后的文章中介绍。



本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1875977,如需转载请自行联系原作者

相关文章
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
546 5
|
6月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
205 56
|
9月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
7月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
430 27
|
7月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
815 18
|
7月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
462 11
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
721 7
|
8月前
|
Java 关系型数据库 MySQL
JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用
以上就是JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用的基本步骤。这些步骤可能会因为你的具体需求和环境而有所不同,但是基本的思路是一样的。希望这些信息能够帮助你更好地理解和使用这些工具。
260 17
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
1080 4
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS