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

CentOS 6下Apache和Tomcat整合

140次阅读
没有评论

共计 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、短信等云产品特惠热卖中