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頁面,這時整合配置成功!