博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整合 Apache 与 Tomcat
阅读量:6671 次
发布时间:2019-06-25

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

hot3.png

1. 问题描述

将以下原始 URL 优化为目标 URL,并分离静态请求与动态请求。

原始 URL:http://localhost:8080/www/page/login.html

目标 URL:http://smart/

2. 解决方案

整合 Apache 与 Tomcat,借助 Tomcat Connector(JK)来实现,需开启 Tomcat 的 AJP 协议。在 Apache 中导入 JK 模块,配置虚拟主机,使用 URL 重写规则,配置 JK 转发映射。使用 Apache 接收静态请求(如:html、css、js、图片等),使用 Tomcat 接收动态请求(如:AJAX)。

3. 操作步骤

3.1 配置 Tomcat

3.1.1 修改 server.xml 文件

...
...

说明:

  • 开启 AJP13 协议(去掉 Connector 的注释)。

  • 可添加 URIEncoding="UTF-8",可解决 GET 请求中文乱码问题(可选)。

3.2 配置 Apache

3.2.1 下载 mod_jk

下载地址:

注意:需要针对操作系统与 Apache 的版本下载相应的二进制包。

3.2.2 修改 httpd.conf 文件

...LoadModule rewrite_module modules/mod_rewrite.so...Include conf/extra/httpd-vhosts.conf...Include conf/extra/httpd-jk.conf

说明:

  • 加载 mod_rewrite,用于配置 URL 重写(去掉 mod_rewrite.so 的注释)

  • 开启虚拟主机去掉 httpd-vhosts.conf 的注释

  • 集成 mod_jk(添加 httpd-jk.conf 配置)。

3.2.3 创建并编辑 httpd-jk.conf 文件

LoadModule jk_module modules/mod_jk.soJkWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.logJkLogLevel info

说明:

  • 加载 mod_jk 模块。

  • 关联 workers 配置文件。

  • 配置 mod_jk 日志文件与日志级别。

3.2.4 创建并配置 workders.properties 文件

worker.list=tomcatworker.tomcat.type=ajp13worker.tomcat.host=localhostworker.tomcat.port=8009

说明:

  • 配置 worker 名称为 tomcat。

  • 配置 worker 类型、主机名、端口号。

3.2.5 修改 httpd-vhost.conf 文件(配置虚拟主机)

NameVirtualHost *:80
    ServerName "smart"    DocumentRoot "D:\Workspace\smart\smart-sample\src\main\webapp\www"    ErrorLog "logs/smart-error.log"    CustomLog "logs/smart-access.log" common    
        Options FollowSymLinks        AllowOverride None        Order allow,deny        Allow from all        RewriteEngine on    RewriteRule ^/$             /login.html     [R]    RewriteRule ^/(.*)\.html$   /page/$1.html   [PT]    JkMount     /*              tomcat    JkUnMount   /asset/*        tomcat    JkUnMount   /page/*         tomcat    JkUnMount   /script/*       tomcat    ErrorDocument 404 /login.html

说明:

  • 配置域名(名为:smart)。

  • 配置文档路径,指向静态文档根目录(www 目录)。

  • 配置目录访问权限。

  • 配置 URL 重写规则。

  • 配置 JK 映射规则,将静态请求交给 Apache,将动态请求交给 Tomcat。动态请求就是 AJAX 请求。

  • 配置错误代码响应页面。

3.3 启动服务器

分别启动 Tomcat 与 Apache。

3.4 配置域名映射

打开 C:\Windows\System32\Drivers\etc\hosts 文件,添加如下配置:

127.0.0.1 smart

3.5 访问应用

使用 http://smart/ 访问应用首页,即登录页面。

转载于:https://my.oschina.net/huangyong/blog/168113

你可能感兴趣的文章
巴西圣保罗街头上演“唱响中国”新春快闪活动
查看>>
Apollo 3.0来了!百度自动驾驶硬件系统全解读
查看>>
你或许不知道Vue的这些小技巧
查看>>
Vue2.0进阶组件篇1 教你秒撸(短信倒计时组件)
查看>>
测试你的前端代码 - part2(单元测试)
查看>>
使用 Cocos Creator 打造自己的爆款小游戏《方块弹珠》!
查看>>
PHP 依赖注入 (DI) 和容器 (IoC) 的简单实现
查看>>
BCH文件安全存储系统——BFP
查看>>
Python | 数据分析实战Ⅰ
查看>>
Salesforce开源TransmogrifAI:用于结构化数据的端到端AutoML库
查看>>
社会的分工合作(ASIC)才是带来人类富裕的基础
查看>>
全面剖析SharedPreferences
查看>>
0826 - 事情多到让人绝望啊
查看>>
Logback中使用TurboFilter实现日志级别等内容的动态修改
查看>>
Spring Boot中增强对MongoDB的配置(连接池等)
查看>>
网络安全-CSRF
查看>>
Andorid Studio NDK开发-Hello World
查看>>
IDEA中maven工程指定JDK版本
查看>>
Git 详细的操作指南笔记(从零开始)
查看>>
【手把手带你撸一个脚手架】第二步, 搭建开发环境
查看>>