最新消息: 新版网站上线了!!!

Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)

目的: 
整合Apache和Tomcat,使得Java工程和PHP工程都能共用80端口,访问网站时,无需在地址栏中加端口号。 

环境说明: 
Linux CentOS 
Apache 2.2.2 
Tomcat 7.0.37 

准备工作: 
下载mod_jk.so 
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 
打开链接找到合适的文件下载,下载后改名为mod_jk.so 

修改Apache相关文件 
1、将mod_jk.so上传至/modules目录下 
2、在/apache/conf目录下新建文件mod_jk.conf 
#Load mod_jk module 
LoadModule jk_module modules/mod_jk.so 
#Where to find workers.properties 
JkWorkersFile conf/workers.properties 
#Where to put jk logs 
JklogFile 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" 
#Send servlet for context /examples to worker named ajp13 
JkMount /servlet/* ajp13 
#Send all files under MyProject for to worker named ajp13 
JKMount /MyProject ajp13 

3、在/apache/conf目录下新建文件workers.properties 
worker.list=ajp13 
worker.ajp13.port=8009 
worker.ajp13.host=localhost 
worker.ajp13.type=ajp13 
worker.ajp13.lbfactor=1 

4、修改/conf/httpd.conf 
Listen 80改为Listen 你的IP:80 
ServerName localhost:80 

最后一行添加 Include conf/mod_jk.conf 
找到DocumentRoot,记住它的值,后面有用。我的是/www/apache/htdocs 

5、添加<VirtualHost>节点 

复制代码代码如下:


<VirtualHost *:80> 
ServerAdmin webmaster@dummy-host.example.com 
ServerName www.sample.cn/m 
ProxyRequests Off 
<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 
ProxyPass /MyProject http://www.sample.cn/MyProject/pages/login.jsp 
ProxyPassReverse /MyProject http://www.sample.cn/MyProject/pages/login.jsp 
</VirtualHost> 


【注意:】红字部分的名称必须一致,也就是说必须和tomcat下的工程名一致 
修改Tomcat相关文件 
1、在tomcat下添加ROOT.xml 
我的目录是这样的:/opt/tomcat/conf/Catalina/localhost 
新建ROOT.xml 

复制代码代码如下:


<?xml version='1.0' encoding='utf-8'?> 
<Context displayName="Welcome to Tomcat" docBase="" path="" debug="0"></Context>


2、修改/conf/server.xml 
I.修改默认端口号(也可以不改,默认一般为8080) 
<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
II.检查AJP端口号(8009不可修改,若这一句被注释掉了,取消注释) 

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
III.检查<HOST>节点 
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 

-----------------------友情提示------------------------------------------------------------- 
至此,就可以通过“域名/工程名/”访问java工程了,但是请注意,最后的"/"不能少! 


.....

转载请注明:谷谷点程序 » Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)