原因:
通常情况下apache运行的是80端口,比如apache启动后运行localhost:80就可以出现It works页面,这里的80也可以不写,会默认的。而tomcat启动时默认的端口是8080端口,需要在localhost后面加上8080,但这样比较不专业,域名还带端口,因此我们可以在tomcat的server.xml修改为80。但此时的问题出来了,当已有一个php写的项目在使用apache作为服务时,我们如何将让有php写的项目和jsp写的项目同时运行起来呢,这里就需要用到插件mod_jk,它可以将jsp要访问的url投入到tomcat中由tomcat来进行处理。
Tomcat直接在官网下载解压就可以了(http://tomcat.apache.org/ ),当然启动tomcat的前提是你安装了jdk,必将JAVA_HOME=jdk安装目录 放在你的环境变量中了,这个都比较简单,我们主要讲解apache2.4和mod_jk的配置。
一:apache2.4及php5.5及mysql的配置
这部分我也不想多讲可以参考:http://jingyan.baidu.com/article/9faa723152c5d6473d28cb47.html
二:mod_jk配置
首先需要从官网上下载apache版本所对应的mod_jk.so 文件放在apache的modules目录下面
然后在conf目录下面建立两个文件为workers.properties和mod_jk.conf
workers.properties内容:
workers.tomcat_home="D:/apache-tomcat7"
workers.java_home="D:/Tools/java/jdk"
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1
mod_jk.conf内容:(myproject 为jsp的工程名)
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed +ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /servlet/* worker1
JkMount /*.jsp worker1
JkMount /*.action worker1
JkMount /*.do worker1
JkMount /myproject/* worker1
注意:JkOptionszhong 中为ForwardURICompatUnparsed不是ForwardURICompat,否则会出现乱码
然后在apache的conf目录下httpd.conf中添加:
Include conf/mod_jk.conf
三:tomcat配置
将tomcat中server.xml中appBase改名指向你在apache配置工程所存放的位置就可以了。
这样你在浏览器中访问jsp的工程时,apache会自动将你的访问投递到tomcat中进行处理,这样就能实现php和jsp都无需写端口号而可以被访问。
备注:参考文献也有配置virtualHost, 这个可能是当tomcat所使用的端口号不能为外网访问时所做的,这里我没有研究,但是也正常工作了。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com