tomcat 本身已经提供了 http 服务,既然tomcat 本身已经可以提供这样的服务,我们为什么还要引入 apache 或者其他的一些专门的 http 服务器呢?原因有下面几个:
1. 提升对静态文件的处理性能
2. 利用 web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序
这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的http服务也就是apache了,它跟tomcat的结合是一个很好搭档,有效提高jsp网站性能。
二、apache与tomcat整合
1、安装jdk
1
2
<code>.</code><code>/jdk-6u24-linux-i586-rpm</code><code>.bin </code><code>#解压jdk包</code>
<code>mv</code> <code>jdk-6u24-linux-i586 </code><code>/usr/local/jdk</code>
设置环境变量:
3
4
5
6
7
8
<code>vi</code> <code>/etc/profile</code>
<code>java_home=</code><code>/usr/local/jdk</code>
<code>path=$path:$java_home</code><code>/bin</code>
<code>classpath=.:$java_home</code><code>/lib</code><code>:dt.jar$java_home</code><code>/lib/tools</code><code>.jar</code>
<code>export</code> <code>classpath java_home path</code>
<code>保存退出!</code>
<code>source</code> <code>/etc/profile</code> <code>#生效环境变量</code>
<code>java -version </code><code>#显示java版本则成功!</code>
2、安装tomcat
<code>tar</code> <code>zxvf apache-tomcat-7.0.</code><code>tar</code><code>.gz</code>
<code>mv</code> <code>apache-tomcat-7.0 </code><code>/usr/local/tomcat</code>
<code>/usr/local/tomcat/bin/startup</code><code>.sh </code><code>#启动tomcat</code>
http://localhost:8080 #访问即可看到tomcat的欢迎画面了!
3、编译tomcat-connector生成mod_jk.so来连接apache
<code>tar</code> <code>zxvf tomcat-connectors-1.2.37-src.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>tomcat-connectors-1.2.37-src.</code><code>tar</code><code>.gz </code><code>/native</code>
<code>.</code><code>/configure</code> <code>--with-apxs=</code><code>/usr/local/apache/bin/apxs</code> <code>--with-tomcat=</code><code>/usr/local/tomcat</code> <code>--with-java-home=</code><code>/usr/local/jdk</code> <code>#--with-apxs扩展工具用来生成mod_jk.so共享库</code>
<code>make</code> <code>#make即可,不需要安装.</code>
<code>cp</code> <code>.</code><code>/jk/native/apache-2</code><code>.0</code><code>/mod_jk</code><code>.so </code><code>/usr/local/apache/modules/</code> <code>#复制生成模块到apache模块目录下</code>
4、在/usr/local/apache2/conf/下建立两个配置文件mod_jk.conf和workers.properties
9
10
11
12
<code>vi</code> <code>mod_jk.conf </code><code>#添加如下内容</code>
<code># 指出mod_jk模块工作所需要的工作文件workers.properties的位置</code>
<code>loadmodule jk_module modules</code><code>/mod_jk</code><code>.so </code><code>#加载jk模块</code>
<code>jkworkersfile </code><code>/usr/local/apache/conf/workers</code><code>.properties</code>
<code>jklogfile </code><code>/usr/local/apache/logs/mod_jk</code><code>.log </code><code>#指定日志位置</code>
<code>jkloglevel info </code><code>#日志级别</code>
<code>jklogstampformat </code><code>"[%a %b %d %h:%m:%s %y]"</code> <code>#日志格式</code>
<code>jkoptions +forwardkeysize+forwarduricompat -forwarddirectories</code>
<code>jkrequestlogformat </code><code>"%w %v %t"</code>
<code># 将所有servlet 和jsp请求通过ajp13的协议送给tomcat,让tomcat来处理</code>
<code>jkmount </code><code>/servlet/</code><code>* server1</code>
<code>jkmount /*.jsp server1</code>
<code>vi</code> <code>workers.properties </code><code>#添加以下内容</code>
<code>worker.list=server1 </code><code>#定义一个工作表</code>
<code>worker.server1.</code><code>type</code><code>=ajp13 </code><code>#jk模块实现负载均衡采用的是ajp协议1.3版</code>
<code>worker.server1.host=localhost </code><code>#tomcat服务器ip</code>
<code>worker.server1.port=8009 </code><code>#定义server.xml中的端口</code>
<code>worker.server1.lbfactor=50 </code><code>#设置权重值</code>
<code>worker.server1.cachesize=10 </code><code>#连接数量缓存</code>
<code>worker.server1.cache_timeout=600</code>
<code>worker.server1.socket_keepalive=1</code>
<code>worker.server1.socket_timeout=300</code>
5、配置httpd加载模块
<code>在directoryindex中添加 index.jsp</code>
<code>loadmodule jk_module modules</code><code>/mod_jk</code><code>.so </code><code>#添加加载mod_jk:</code>
<code>include </code><code>/usr/local/apache/conf/mod_jk</code><code>.conf</code>
6、修改tomcat默认网站根目录
<code>vi</code> <code>conf</code><code>/server</code><code>.xml:</code>
<code><context path=</code><code>""</code> <code>docbase=</code><code>"/usr/local/apache/htdocs"</code><code>debug=</code><code>"0"</code> <code>reloadable=</code><code>"true"</code><code>crosscontext=</code><code>"true"</code><code>/></code>
重启服务
<code>service httpd restart</code>
<code>/usr/local/tomcat/bin/shutdown</code><code>.sh</code>
<code>/usr/local/tomcat/bin/startup</code><code>.sh</code>
在/usr/local/apache/htdocs下建立一个index.jsp,访问http://localhost/,可以看到jsp页面,这时整合配置成功!