您的位置:首页 > 编程语言 > PHP开发

Ubuntu12.04下 mod_jk整合 java项目与php项目

2012-10-31 17:06 344 查看
由于项目的需要,需要把php和java项目同时采用80端口进行发布,本文采用mod_jk进行不同项目的整合。把原来位于apatch中的php项目与tomcat下运行的java项目进行整合发布。
整合的平台与软件版本:

OS:Ubuntu12.04
tomcat6.0.16
jdk1.7.0_03
apache2.2.22
mod_jk
java项目位于:/home/hkr/project/sd/tomcat-6.0.14/webapps/myjavaproject 中;php项目位于/var/www/myphpproject


主要步骤如下:

tomcat6.0.16安装:http://tomcat.apache.org/直接下载解压即可
jdk1.7.0_03安装:参考网络安装jdk的方法(http://blog.csdn.net/ritterliu/article/details/7525412)
apache2.2.22安装:$sudo apt-get install apache2
mod_jk的安装:$sudo apt-get install libapache2-mod-jk
配置mod_jk,mod_jk的配置主要有以下三个地方:

配置workers.properties(连接到Tomcat的文件)sudo
gedit /etc/libapache2-mod-jk/workers.properties,配置下面参数:

workers.tomcat_home=/home/hkr/project/sd/tomcat-6.0.14#tomcat位置
workers.java_home=/usr/lib/jvm/jdk1.7.0_03#java_home位置
worker.list=ajp13_worker#自定义命名即可
worker.ajp13_worker.port=8009 #用8080会报错
worker.ajp13_worker.host=192.168.1.102#本机ip地址
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=ajp13_worker

apache2中 apache2.conf配置:$gedit /etc/apache2/apache2.conf,在文件最后空白处加上以下内容:

AddType application/x-httpd-php .php .htm .html

serverName 192.168.1.102

#JkWorkersFile /etc/libapache2-mod-jk/workers.properties(这个需要注释,加上会出现apache启动时报错: JkWorkersFile only allowed once)

JkLogFile /var/log/apache2/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"

apache2中 default的配置,$gedit /etc/apache2/sites-available/default, 在</VirtualHost>之前增加:

JkMount /*.jsp ajp13_worker(5.1中worker.list的值)
JkMount /*.do ajp13_worker
....(其他java项目项目的代理,如果java项目在一个工程下,可以配置JkMount /java项目名/* ajp13_worker,如果配置/*
会把所有php的范围也代理到tomcat中,导致php项目无法访问,因此这里只需要配置tomcat下工程的访问路劲即可


配置完成后$sudo /etc/init.d/apache2 reload,然后$sudo
/etc/init.d/apache2 restart,即可通过ip进行直接访问tomcat和php的项目。

以上内容已在本机virtualBox中测试通过,欢迎交流:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: