Jdk的安裝參見:
http://blog.csdn.net/supercrsky/article/details/8283200
apache的安裝參見:
http://blog.csdn.net/supercrsky/article/details/8308055
文中用到的mod_jk.so 版本為1.2.30通用版,這個版本適用基於http-2.2.22的win/Linux,32/64位的環境。
:http://download.csdn.net/detail/supercrsky/5886045
httpd-2.2.22 tomcat6.0.37
全部設定檔
1.在/usr/local/apache2.2/conf下建立workers.properties檔案:
內容如下:
worker.list = controller#tomcat1worker.tomcat1.port=8009 worker.tomcat1.host=192.168.1.113worker.tomcat1.type=ajp13worker.tomcat1.lbfactor=1#tomcat2worker.tomcat2.port=8009 worker.tomcat2.host=192.168.1.114worker.tomcat2.type=ajp13worker.tomcat2.lbfactor=1#========controller========worker.controller.type=lbworker.controller.balance_workers=tomcat1,tomcat2worker.lbcontroller.sticky_session=falseworker.controller.sticky_session_force=1worker.connection_pool_size=3000worker.connection_pool_minsize=50worker.connection_pool_timeout=50000
2.在/usr/local/apache2.2/conf下建立mod_jk.conf檔案:
內容如下:
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.X.soJKWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.log<VirtualHost *>DocumentRoot /usr/local/www/edu<Directory "/usr/local/www/edu"> AllowOverride None Order allow,deny Allow from all</Directory><Directory "/usr/local/www/edu/WEB-INF"> Order deny,allow Deny from all</Directory>ServerAdmin localhostServerName localhostDirectoryIndex index.html index.htm index.jsp index.do indexErrorLog logs/shsc-error_log.txtCustomLog logs/shsc-access_log.txt commonJkMount /* controllerJkUnMount /*.gif controllerJkUnMount /*.jpeg controllerJkUnMount /*.bmp controllerJkUnMount /*.jpg controllerJkUnMount /*.png controllerJkUnMount /*.htm controllerJkUnMount /*.html controllerJkUnMount /*.js controllerJkUnMount /*.css controller</VirtualHost>
其中
DocumentRoot /usr/local/www/edu<Directory "/usr/local/www/edu"> AllowOverride None Order allow,deny Allow from all</Directory><Directory "/usr/local/www/edu/WEB-INF"> Order deny,allow Deny from all</Directory>
要根據實際情況來配置,如果此段不配置,會無法顯示那些不轉寄的靜態內容。
我這裡是直接用ip地址訪問項目,不用加工程名,所以直接配置到/usr/local/www/edu目標,edu是項目名稱。
如果有多重專案可以配置多個VirtualHost節點。
其中JkMount要與JkUnMount成對出現,JkUnMount的優先順序要高於JkMount。
JkMount:希望交於tomcat處理的,JkUnMount:不希望交於tomcat 處理的,一般都是靜態內容。
3.在在/usr/local/apache2.2/conf/httpd.conf檔案中最末尾加上
include "conf/mod_jk.conf"
4.修改tomcat/conf/server.xml檔案:
找到:
<Engine name="Catalina" defaultHost="localhost" >
修改為
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
其中jvmRoute=tomcat1中的tomcat1要與workers.properties中的worker配置對應。
然後取消掉
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />
的注釋。
找到Host節點
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context path="" docBase="/usr/local/www/edu" reloadable="true" crossContext="true" /> </Host>
加入Context配置並且刪除webapps下的同名項目,這樣就可以通過直接存取ip來訪問項目。
另一台機器的tomcat2也做同樣修改。
5.依次啟動tomcat1,tomcat2,apache http server 進行訪問,測試成功。