阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6下Apache和Tomcat整合

402次阅读
没有评论

共计 7323 个字符,预计需要花费 19 分钟才能阅读完成。

一 Apache 与 Tomcat 比较联系
Apache 支持静态页,Tomcat 支持动态的,比如 servlet 等。一般使用 Apache+Tomcat 的话,Apache 只是作为一个转发,对 jsp 的处理是由 Tomcat 来处理的。Apache 可以支持 php\cgi\perl, 但是要使用 Java 的话,你需要 Tomcat 在 Apache 后台支撑,将 java 请求由 Apache 转发给 Tomcat 处理。

Apache 是 web 服务器,Tomcat 是应用(java)服务器,它只是一个 servlet(jsp 也翻译成 servlet)容器,可以认为是 Apache 的扩展,但是可以独立于 Apache 运行。

这两个有以下几点可以比较的:
1、两者都是 apache 组织开发的
2、两者都有 HTTP 服务的功能
3、两者都是免费的

不同点:
Apache 是专门用了提供 HTTP 服务的,以及相关配置的(例如虚拟主机、URL 转发等等)
Tomcat 是 Apache 组织在符合 J2EE 的 JSP、Servlet 标准下开发的一个 JSP 服务器

整合的好处是:
如果客户端请求的是静态页面,则只需要 Apache 服务器响应请求
如果客户端请求动态页面,则是 Tomcat 服务器响应请求
因为 jsp 是服务器端解释代码的,这样整合就可以减少 Tomcat 的服务开销

二 Linux 下 Apache 与 Tomcat 整合的简单方法
1、准备,下载需要的文件。这里假定你已经正确安装配置好了 JDK。
到 Apache 官方网站下载所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中 httpd 和 jakarta-tomcat-connectors 为源码包,apache-tomcat 为二进制包。
2、安装 Apache。
# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure –prefix=/usr/local/apache2 –enable-so
# make
# make install
3、安装 Tomcat。
# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat
4、编译生成 mod_jk。
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure –with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在 /usr/local/apache2/conf/ 下面建立两个配置文件 mod_jk.conf 和 workers.properties。
# vi mod_jk.conf
添加以下内容:
# 指出 mod_jk 模块工作所需要的工作文件 workers.properties 的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat “%w %V %T”
# 将所有 servlet 和 jsp 请求通过 ajp13 的协议送给 Tomcat,让 Tomcat 来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
再配置 httpd.conf,作以下修改:
将 Listen 80 修改为 Listen 127.0.0.1:80
将 ServerName 修改为 ServerName LocalHost:80
在 DirectoryIndex 中添加 index.jsp
我的网页放在 /var/wwwroot 下,所以要修改 DocumentRoot
DocumentRoot “/var/wwwroot”
<Directory “/var/wwwroot”>
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on
</Directory>
<Directory “/var/wwwroot/WEB-INF”>   
    Order deny,allow
    Deny from all
</Directory>
增加关于加载 mod_jk 的语句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf

最后编辑 Tomcat 的配置文件 server.xml,在 HOST 段中加入:
<Context path=”” docBase=”/var/wwwroot” debug=”0″ reloadable=”true” crossContext=”true”/>
在 /var/wwwroot 下建立一个 index.jsp,启动 Apache 和 Tomcat,用浏览器访问 http://localhost/,应该可以看到正确的页面了。

三 Windows 下 Apache 与 Tomcat 的整合
准备工作:
1、Apache 2.2.4
下载地址:http://cztele1.skycn.com/down/apache_2.2.4-win32-x86-no_ssl.zip
2、Tomcat 6.0.16
下载地址:http://apache.mirror.phpchina.co … e-tomcat-6.0.16.zip
3、JDK
下载地址:http://cds.sun.com/is-bin/INTERS … -windows-i586-p.exe
如果只是应用的话,也可以选择安装 JRE,因为 JRE 比较小:)
4 JK-1.2.26-httpd-2.2.4
下载地址:http://www.apache.org/dist/tomca … 2.26-httpd-2.2.4.so
注意 JK 的版本一定要与 Apache 版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可,地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
开始安装:
软件的安装顺序可以适当调整,但是 JDK(JRE)一定要在 Tomcat 之前安装:
1、安装 JDK(JRE)
此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)
JAVA_HOME = D:\Program Files\Java\jdk1.6.0_07
CLASSPATH = .;%Java_Home%\lib\tools.jar;%Java_Home%\lib\dt.jar;
PATH = %Java_Home%\bin;%PATH%
注意 JAVA_HOME 的路径改为你的实际安装路径。其它两个不变。
2、安装 Apache
此处注意,如果你本机已经装了 IIS 并且占用了 80 端口,你可以选择禁用 IIS 或者给 IIS 指定其它端口,或者给 Apache 指定其它端口,根据实际情况进行设置。在 Apache 的安装过程中要设置 Network Domain 和 Server Name 为 Localhost,设置你的 Email 地址 (这个一定要设置,不然 Apache 启动不起来)。
安装完成之后,如果 apache 用的是 80 端口,那么在浏览器中输入 http://localhost,如果使用的是其它端口例如 81,则输入 http://localhost:81,将会看到 Apache 的成功页面。此时 Apache 已经运行,在系统托盘可以看到它的图标,双击打开可以对 Apache 服务进行控制,我们下面还要安装 Tomcat 和 JK,所以现在选择 Stop 停止 Apache 服务。
3、安装 Tomcat
将 Tomcat 解压到 D:\Program Files\Tomcat 下,设置环境变量:
CATALINA_BASE = D:\Program Files\tomcat
CATALINA_HOME = D:\Program Files\tomcat
CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar
运行 D:\Program Files\Tomcat\bin\startup.bat 启动 Tomcat,出现 Tomcat 页面则表示安装成功。
4、安装 JK
把 mod_jk-1.2.26-httpd-2.2.4.so 拷贝到 D:\Program Files\Apache2.2\modules 下。
下面进行服务器的配置:
1、配置 Tomcat
查找 Tomcat 目录下的 conf/server.xml 文件,在 <host></host> 中间加入以下语句以修改其默认的目录:
<Context path=”” docBase=”E:\wwwroot” reloadable=”true” crossContext=”true”/>
在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。
查找 Tomcat 目录下的 conf/workers.properties 文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。
workers.tomcat_home=C:\apache-tomcat-6.0.18 #让 mod_jk 模块知道 Tomcat 的位置
workers.java_home=D:\Program Files\Java\jre1.6.0_07 #让 mod_jk 模块知道 jre 的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口, 若没占用则不用修改
worker.ajp13.host=localhost #本机, 若上面的 Apache 主机不为 localhost, 作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数, 不用修改
如果此文件不存在,则依以上内容创建。对 Tomcat 的设置进行任何修改后都要重启才可以生效。
2、配置 Apache
打开 D:\Program Files\Apache2.2\conf 下的 httpd.conf,在最后加入下面这段代码并保存。
LoadModule jk_module modules\mod_jk-1.2.26-httpd-2.2.4.so
# 此处 mod_jk 的文件为你下载的文件
JkWorkersFile “D:\Program Files\Tomcat\conf\workers.properties”
# 指定 tomcat 监听配置文件地址
JkLogFile “D:\Program Files\Tomcat\logs\mod_jk2.log”
# 指定日志存放位置
JkLogLevel info
# 设置虚拟主机
<VirtualHost localhost>
# 如果非虚拟主机,将 <VirtualHost localhost> 和最后的 </VirtualHost> 注释或者删除掉即可
ServerAdmin localhost
DocumentRoot E:/wwwroot
<Directory “E:/wwwroot”>
# 您的站点项目所在路径,应与 tomcat 中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
# 让 Apache 支持对 servlet 传送,用以 Tomcat 解析
JkMount /*.jsp ajp13
# 让 Apache 支持对 jsp 传送,用以 Tomcat 解析
JkMount /*.do ajp13
# 让 Apache 支持对.do 传送,用以 Tomcat 解析
</VirtualHost>
# 开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了 serverName,DocumentRoot 路径的方式配置站点,实际上,Apache 的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如 ServerName,DocumentRoot,ServerAdmin 等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
所有的修改完成以后,双击系统托盘中的 Apache 图标,然后点击 Start 启动 Apache 服务。
在地址栏中分别输入 http://localhost/,与 http://localhost:8080/ 若结果相同,Apache 与 Tomcat 整合成功
安装常见问题:
1. 一启动 Apache 出现“windows 不能在本地计算机启动 Apache2”错误
多数情况是端口的问题,可能有其他软件占用了 80 端口,最好把 Apache 的端口改成 81 端口就可以了
2.windows 下查看 80 端口占用情况,适用于查看任何端口
开始–运行–cmd 进入命令提示符输入 netstat -ano 即可看到所有连接的 PID 之后在任务管理器中找到这个 PID 所对应的程序如果任务管理器中没有 PID 这一项, 可以在任务管理器中选”查看”-”选择列”, 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用。
我们需要确定谁占用了我���的 80 端口
在 windows 命令行窗口下执行:C:\>netstat -aon|findstr“80″
看到了吗,端口被进程号为 2044 的进程占用,继续执行下面命令:
C:\>tasklist|findstr“2044″
avp.exe                    2044 Console                0    37,680 K
很清楚吧,avp 卡巴监听 80 端口,调整卡巴网络监听设置。
当然,如果你的 80 端口被其他程序占用,kill 掉或者调整端口。

四完!
感谢,Thanks!

更多 Tomcat 相关教程见以下内容

CentOS 6.6 下安装配置 Tomcat 环境  http://www.linuxidc.com/Linux/2015-08/122234.htm

RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm 

CentOS 6.5 下安装 Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm 

Tomcat 中 session 的管理机制  http://www.linuxidc.com/Linux/2016-09/135072.htm

Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/143021.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7323字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7963610
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...