专栏首页python3初识TomCat之3——TomCat动静

初识TomCat之3——TomCat动静

一、背景介绍 在生产环境中tomcat很少直接用于响应客户端请求,即使它可以通过Connector组件接收用户的请求,一般来说常见于server.xml配置文件中Connector连接器的类型有3种:http、SSL和AJP 1.3

在生产环境中,tomcat前端一般会有一个专门的web服务器来接收用户请求,常用的web服务器由apache和nginx,他们各自特点如下: nginx:易于实现动静分离,将动态请求反代给后端的tomcat服务器,但与tomcat之间只能走http或SSL协议,不支持AJP协议。 apache:与tomcat同属于ASF软件,兼容性更好,在反代tomcat时可以走二进制的AJP协议,效率更高,但动静分离很困难。 下面分别已apache和nginx为例做关于tomcat反代的实验。 二、网络拓扑 网络拓扑如下图所示:

用户向web服务器发出请求,web服务器将用户请求反代至tomcat服务器,使用Nginx当web服务器时实现动静分离,使用apche当web服务器时分别实现http和ajp协议。本次试用的操作系统为CentOS7.4,JDK版本1.8,tomcat版本8.5,nginx版本1.12.1。 三、操作步骤 1.nginx实现动静分录 安装nginx服务,并设置访问的地址,将以.jsp或者.do结尾的请求都发往指定地址

此时再访问自定义的网站时nginx服务器会相应静态内容请求

而以.jsp或者.do结尾的请求会重定向到tomcat上

需要注意的是:使用nginx在做反代时后端如果有多个虚拟主机,反代的地址要用虚拟主机的地址而不能是IP地址,否则tomcat的默认主机不是你要访问的主机时会被定义到其他主机上

2.apache实现http和jsp协议反代 apache的反代功能由主模块(proxy_module)和子模块proxy_xxx_module共同完成

(1)安装httpd服务,注销掉DocumentRoot

(2)本次还是基于虚拟主机测试,在conf.d目录下创建vhost.conf配置文件

关闭虚拟主机的正向代理,ProxyPass可以设置成IP地址就是因为相较于nginx而言apache多了一个ProxyPreserveHost选项,可以传递用户请求的虚拟主机名给后端,此时通过域名访问发现被定向到tomcat的对应虚拟主机中

而通过IP地址访问会被定向到默认虚拟主机

实现ajp的方法只是将apache反代服务器配置文件中http改成ajp即可,如果有不需要重定向的资源,可以用!阻止重定向

但在此之前需要在tomcat服务器上确认AJP连接器处于正常侦听状态

四、补充说明 在使用apache进行反代的时候,开始总是由503报错页面,该问题在使用nginx是未发生,查看日志发现由于权限原因无法与后端服务器建立连接

最后发现是SElinux原因导致,关闭SElinux,恢复正常

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浏览器中网址访问过程详解

    (1)浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP 

    py3study
  • The Perfect Server -

    chkconfig --levels 235 mysqld on /etc/init.d/mysqld start

    py3study
  • Pycharm远程调试服务器代码(使用P

    1.随便准备一个项目工程,在本地用Pipenv创建一个虚拟环境并生成Pipfile和pipfile.lock文件,如下:

    py3study
  • 腾讯云服务器远程登陆

    https://cloud.tencent.com/act/cps/redirect?redirect=1014&cps_key=926cbf665559b54...

    用户5908769
  • 浅谈服务器海量运营

    "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

    鹅厂网事
  • 基于腾讯云的个人网站架构

    本文介绍如何基于腾讯云的各种云产品优雅地搭建个人网站,涉及的云产品有云服务器、SSL、企业邮箱、对象存储、CDN、云函数、API网关、云监控等。

    zhayujie
  • 海量服务器运营平台的进化之路

    "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

    鹅厂网事
  • 《redis设计与实现》读后总结

    剖析Redis协议 按照redis协议格式编写.ptl文件 ,然后用管道命令交给Redis一并执行。

    平凡的学生族
  • 源代码管理SVN的使用

    用户1941540
  • tmux 简单介绍

    marsggbo

扫码关注云+社区

领取腾讯云代金券