设为首页 收藏本站
查看: 2266|回复: 0

windows下apache2.2+tomcat7.0.22+jk wamp整合 tomcat

[复制链接]

尚未签到

发表于 2015-11-16 15:35:49 | 显示全部楼层 |阅读模式
为了项目测试需要,需要整合PHP+JSP项目,本机上在APACHE下可同时运行PHP JSP

APACHE TOMCAT本身就是一个公司出的,他们之前可以通过TK沟通。

tomcat 应用于服务器JSP处理是比较强的,但遇到一些静态页面的处理则容易死在那,这对这些页面的处理APACHE是强项,两者实现通信,可以通时处理PHP,JSP页面,很好的搭配


A:由于本机测试,apache+mysql+php就安装了一个WAMP整合,WAMP集成环境安装过程就不多说了

省了很多PHP安装过程,wamp安装完后,默认监听80端口

B :下面下载tomcat,当前版本是7.06版本。

下载地址:http://tomcat.apache.org/

下载后解压,我的解压在c :/tomcat/目录下。当然你也可以下载.exe安装版文件,

如:http://apache.etoak.com/tomcat/tomcat-7/v7.0.22/bin/apache-tomcat-7.0.22.exe

C: 后下载TK:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

TK版本一定要对应你自己安装的wamp中的APACHE版本

如:我的apache版本是2.2.7 则下载tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip

D: 安装JDK JRE(这一步就省过了,这个都不会装,就不用做JAVA了)

E:进入tomcat文件夹,我的是c:/tomcat  conf文件夹下,建立workers.properties

   内容为:

workers.tomcat_home="c:\tomcat\"
#让mod_jk模块知道Tomcat的安装路径
workers.java_home="C:\Program Files\Java\jdk1.6.0_13\"
#让mod_jk模块知道jdk路径
ps="
worker.list=ajp13
#这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。
worker.ajp13.port=8009
#工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009"            
worker.ajp13.host=localhost
#Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.ajp13.type=ajp13
#类型,好像不能改,会出问题
worker.ajp13.lbfactor=1
#负载平衡因子   

    后配置tomcat目录下的server..xml文件:

虚拟目录设置:(TOMCAT版本是7.0.22)
找到下面内容:
<Hostname=&quot;localhost&quot;debug=&quot;0&quot;appBase=&quot;/webapps&quot;
unpackWARs=&quot;true&quot;autoDeploy=&quot;true&quot;>
修改为:
<Hostname=&quot;localhost&quot;debug=&quot;0&quot;appBase=&quot;d:/server/www&quot;
unpackWARs=&quot;true&quot;autoDeploy=&quot;true&quot;>
使tomcat主目录为d:\server\www.
2.设置tomcat监听端口,找到下面的内容:
    <Connector port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot;
               connectionTimeout=&quot;20000&quot;
               redirectPort=&quot;8443&quot; />

    <Connector executor=&quot;tomcatThreadPool&quot;
               port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot;
               connectionTimeout=&quot;20000&quot;
               redirectPort=&quot;8443&quot; />

把8080改成你所要改的端口 如8134

另如果这行:

    <Connector port=&quot;8009&quot; protocol=&quot;AJP/1.3&quot; redirectPort=&quot;8443&quot; />

被注释掉,请把注释去掉,这个就是apache与tomcat通信的端口,要与上面:

   workers.properties文件中的:worker.ajp13.port=8009
对应,这里我暂不改;

F: 进入wamp安装目录下,配置apache目录,C:\wamp\bin\apache\Apache2.2.17\下

   把下载的TK文件解压到 apache2.2.17\moudles目录下 ,

在apache2.2.17\conf\httpd.conf文件,在文件下加上以下几行:

LoadModule jk_module modules/mod_jk.so
JkWorkersFile &quot;c:/tomcat/conf/workers.properties&quot;
JkLogFile &quot;C:/wamp/bin/apache/Apache2.2.17/logs/mod_jk.log&quot;
JkMount /*.jsp ajp13
JkMount /*.do ajp13

上面的目录,请按你自己的安装目录来改


G:测试是否安装成功:

     在d:\server\wwww(如果你没改过目录,默认是C:\tomcat\webapps\ROOT\)目录下 建一个文件夹test

  在此文件夹下建立 a.jsp 内容如下:

Java代码

  • <%@ page contentType=&quot;text/html;charset=gb2312&quot; %><HTML><HEAD><TITLE>JSP测试页面</TITLE></HEAD><BODY><%out.println(&quot;<h1>Hello World! </h1>&quot;);%></BODY></HTML>   
   后运行 C:\tomcat\bin\startup.bat文件:

如果出现server startup in XXXXX.ms 则代表tomcat启动成功。

后重启wamp所有服务

      如果http://localhost:8080/test/a.jsp

和 http://localost/test/a.jsp

内容相同,都输出hello world 则代表环境搭建成功,apache与tomcat通信成功。!!!!

相关安全配置:

A:上面的修改端口,可以修改tomcat的默认8080端口,甚至修改8009通信端口

B:配置tomcat的conf/web.xml文件:
类&#20284;于apache下404错误页面的配置,在最后</web-app>一行之前加入以下内容:

<error-page>
<error-code>404</error-code>
<location>/error/noFile.htm</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/error.jsp</location>
</error-page>
第一个<error-page></error-page>之间的是404未找到jsp网页的错误导向页面,使之发生404错误时,
网页导向至/error/noFile.htm,也可以用类&#20284;方法添加其多的错误代码导向页面。
第二个<error-page></error-page>之间的是当jsp网页出现java.lang.NullPointerException导常时
导向至/error/error.jsp错误页面。那么需要在第个jsp网页中加入以下内容:
<%@pageerrorPage=&quot;/error/error.jsp&quot;%>
典型的error.jsp错误页面的程序写法如下:

<%@pagecontentType=&quot;text/html;charset=GB2312&quot;%>
<%@pageisErrorPage=&quot;true&quot;%>
<html>
<head><title>错误页面</title></head>

<body>
出错了:</p>错误信息:<%=exception.getMessage()%><br>

StackTraceis:<pre><fontcolor=&quot;red&quot;><%
java.io.CharArrayWritercw=newjava.io.CharArrayWriter();
java.io.PrintWriterpw=newjava.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</body>
</html>
当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。
第五步主要是安全考虑,在正常情况下,如果找不到网页即出现404错误或者jsp程序出错,在客户端
会列举出类&#20284;于如下的信息(以tomcat为例,resin类&#20284;):
HTTPStatus404-/sdags.jsp

--------------------------------------------------------------------------------

typeStatusreport

message/sdags.jsp

descriptionTherequestedresource(/sdags.jsp)isnotavailable.


--------------------------------------------------------------------------------
C:

配置httpd.conf文件
这种方法把tomcat和apache的根目录设置为同一目录,但是必须限制客户对目录下一些文件的访问,比如存入class
的web-inf,在httpd.conf下添加以下代码:
#denytheaccesstoWEB-INF
<Directory~&quot;/WEB-INF/&quot;>
orderallow,deny
Denyfromall
</Directory>
这样,当试图记问http://localhost/web-inf/时,apache将会拒绝.


当然也可以不设为同一目录,他们之前通信也是会成功的,这步只是说明,不配置也可以通信成功


这样可以做成一个同时支持PHP&#43;JSP的虚拟目录,JSP&#43;PHP&#43;MYSQL,可以实现前后台分别用PHP,和JSP程序来开发,或者混和开发。

JSP的目录不一定非得放在PHP环境下,只需要在WAMP里 apache里建一个aiias指向到JSP所在的目录,

且apache的httpd.conf

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm index.jsp
</IfModule>

加上index.jsp

这样结合上面的互通,就可以用 http://localhost/test/来访问jsp文件

http://localhost./testb/a.php来访问php文件,两者位在同一目录里,且都能解析。

可共用MYSQL数据库,可以写混合程序。。。。。。。


你有两个域名要配置:

www.test.com -----------对应一个项目(eg:trclient系统);

dev.test.com -------------对应另一个项目(eg:trsite网站);

1)域名解析(本地locathost为例)

打开system32/driver/etc/hosts 文件(如下图所示)

文件最后新增两行:

127.0.0.1  www.test.com

127.0.0.1  dev.test.com

2)apache配置:

在磁盘上新建个文件夹the8m

在这个文件夹下新建两个文件夹test(www.test.com)和dev(dev.test.com)

在APACHE下,找到httpd.conf 添加以下文件

XML/HTML代码

  • ## www.test.com   
  •   
  • NameVirtualHost www.test.com   
  •   
  • <VirtualHost www.test.com>  
  •   
  •     ServerAdmin service@the8m.com      
  •   
  • DocumentRoot &quot;F:/the8m/test/&quot;   
  •   
  •     ServerName www.test.com   
  •   
  •       
  •   
  •     <Directory &quot;F:/the8m/test/&quot;>  
  •   
  •        Options Indexes MultiViews   
  •   
  •        AllowOverride None   
  •   
  •        order allow,deny   
  •   
  •        Allow from all   
  •   
  •        DirectoryIndex index.jsp   
  •   
  •     </Directory>  
  •   
  •     JkMount /temp ajp13   
  •   
  •     JkMount /temp/* ajp13   
  •   
  •   
  •     JkMount /bin ajp13   
  •   
  •     JkMount /bin/* ajp13   
  •   
  •   
  •     JkMount /deployer ajp13   
  •   
  •     JkMount /deployer/* ajp13   
  •   
  •   
  •     JkMount /jre_bak ajp13   
  •   
  •     JkMount /jre_bak/* ajp13   
  •   
  •   
  •     JkMount /logs ajp13   
  •   
  •     JkMount /logs/* ajp13   
  •   
  •   
  •     JkMount /webapps ajp13   
  •   
  •     JkMount /webapps/* ajp13   
  •   
  •   
  •     JkMount /work ajp13   
  •   
  •     JkMount /work/* ajp13   
  •   
  •   
  •     JkMount /lib ajp13   
  •   
  •     JkMount /lib/* ajp13   
  •   
  •   
  •     JkMount /conf ajp13   
  •   
  •     JkMount /conf/* ajp13   
  •   
  •   
  •     JkMount /jre ajp13   
  •   
  •     JkMount /jre/* ajp13   
  •   
  • ## 后面三个才是重点,前面的JkMount看你的情况而定,当然多写无害啦。   
  •   
  •     JkMount /*/servlet/* ajp13   
  •   
  •     JkMount /*.jsp ajp13   
  •   
  •     JkMount /*.do ajp13   
  •   
  • </VirtualHost>  
  •   
  • ##dev.test.com 的配置,就是改一下所在项目的位置。   
  •   
  • NameVirtualHost dev.test.com   
  •   
  • <VirtualHost dev.test.com>  
  •   
  •     ServerAdmin the8m@the8m.com   
  •   
  •    DocumentRoot &quot;F:/the8m/dev/&quot;   
  •   
  •     ServerName dev.test.com   
  •   
  •       
  •   
  •     <Directory &quot;F:/the8m/dev/&quot;>  
  •   
  •        Options Indexes MultiViews   
  •   
  •        AllowOverride None   
  •   
  •        order allow,deny   
  •   
  •        Allow from all   
  •   
  •        DirectoryIndex index.jsp   
  •   
  •     </Directory>  
  •   
  •     JkMount /temp ajp13   
  •   
  •     JkMount /temp/* ajp13   
  •   
  •   
  •     JkMount /bin ajp13   
  •   
  •     JkMount /bin/* ajp13   
  •   
  •   
  •     JkMount /deployer ajp13   
  •   
  •     JkMount /deployer/* ajp13   
  •   
  •   
  •     JkMount /jre_bak ajp13   
  •   
  •     JkMount /jre_bak/* ajp13   
  •   
  •   
  •     JkMount /logs ajp13   
  •   
  •     JkMount /logs/* ajp13   
  •   
  •   
  •     JkMount /webapps ajp13   
  •   
  •     JkMount /webapps/* ajp13   
  •   
  •   
  •     JkMount /work ajp13   
  •   
  •     JkMount /work/* ajp13   
  •   
  •   
  •     JkMount /lib ajp13   
  •   
  •     JkMount /lib/* ajp13   
  •   
  •   
  •     JkMount /conf ajp13   
  •   
  •     JkMount /conf/* ajp13   
  •   
  •   
  •     JkMount /jre ajp13   
  •   
  •     JkMount /jre/* ajp13   
  •   
  •   
  •     JkMount /*/servlet/* ajp13   
  •   
  •     JkMount /*.jsp ajp13   
  •   
  •     JkMount /*.do ajp13   
  •   
  • </VirtualHost>  
  •   

后保存文件。

以上就是APACHE的配置。

下面是TOMCAT配置:

打开tomcat的conf目录下的server.xml文件,在下面这段代码后

<Host name=&quot;localhost&quot; appBase=&quot;webapps&quot;

            unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;

            xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>

</Host>添加如下代码:

l   

XML/HTML代码

  • <Host name=&quot;www.test.com&quot;  
  •   
  •             unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;  
  •   
  •             xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>  
  •   
  •        </Host>  
  •   
  •   
  •        <Host name=&quot;dev.test.com&quot;    unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;  
  •   
  •             xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>  
  •   
  •        </Host>  
  •   
   

  保存 server.xml;

l         在tomcat/conf/Catalina目录下新建两个文件夹&quot;www.test.com&quot; 和 &quot;dev.test.com&quot;

在各自的文件夹里,各建一个ROOT.xml文件,注意大小写


把相应的目录修改后后保存.
<Context docBase=&quot;F:/the8m/dev&quot;    privileged=&quot;true&quot; antiResourceLocking=&quot;false&quot; antiJARLocking=&quot;false&quot;>

</Context>

这一步你也可以不用这样,按下面方法修改,一步到位:

在这段代码之后

<Host name=&quot;localhost&quot; appBase=&quot;webapps&quot;

            unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;

            xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>

</Host>添加如下代码:

XML/HTML代码

  • <Host name=&quot;www.test.com&quot; unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;  
  • xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>  
  • <content path=&quot;&quot; docBase=&quot;F:\the8m\test&quot;  privileged=&quot;true&quot; antiResourceLocking=&quot;false&quot; >  
  • </Context>  
  • </Host>  
  • <Host name=&quot;dev.test.com&quot;  
  •   
  •             unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;  
  •   
  •             xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;>  
  • <content path=&quot;&quot; docBase=&quot;F:\the8m\dev&quot;  privileged=&quot;true&quot; antiResourceLocking=&quot;false&quot; >  
  •        </Host>  
  •   

这样修改后,你就可以通过 http://www.test.com     http://www.test.com:8080    http://dev.test.com

http://dev.test.com:8080来访问你的项目了,

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140039-1-1.html 上篇帖子: [php] wamp 建立多站点 下篇帖子: wamp下安装scws(中文分词)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表