• Apache + Tomcat


    这个是非集群模式,以后可能还会写集群的情况

    今天折腾了好久才把这个跑起来,静态资源归Apache加载不用请求Tomcat了,这样以后就方便做集群了,用的是JK的方式,据说还有其他的方式,这个没有详细去研究,今天就先把自己的过程说一遍方便以后查看。

    首先需要一个mod_jk-1.2.31-httpd-2.2.3.so文件 因为我的Apache是2.2的版本,所以就用的httpd-2.2.3的版本,这个文件就是Apache和Tomcat的粘合剂,把这个文件放在Apache2.2/modules的目录下。这里说下配置吧,分部来操作,我这里讲的是配置文件分开配置的,这样做的好处就是无侵入性:

    1.首先在Apache2.2/conf文件夹中创建workers.properties,内容:

    worker.list=controller
    worker.controller.port=8009
    worker.controller.host=192.168.1.123
    worker.controller.type=ajp13
    worker.controller.lbfactor=1
    

    2.首先在Apache2.2/conf文件夹中创建mod_JK.conf,内容:

         JkMount   /*  controller
         JkUnMount /*.html controller
         JkUnMount /*.htm controller
         JkUnMount /*.vga controller
         JkUnMount /*.gif controller
         JkUnMount /*.swf controller
         JkUnMount /*.bmp controller
         JkUnMount /*.png controller
         JkUnMount /*.wma controller
         JkUnMount /*.wmv controller
         JkUnMount /*.jpg controller
         JkUnMount /*.js  controller
         JkUnMount /*.css controller
    

    3.找到Apache2.2/conf/extra/httpd-vhosts.conf文件,修改后的内容:

    #加载JK模块,指定.so文件路径。
     LoadModule jk_module modules/mod_jk.so
    #加载指定workers.properties路径。
     JkWorkersFile conf/workers.properties
     NameVirtualHost *:80
    
    Alias /web "E:/Apache2.2/htdocs/web/"
    
    <VirtualHost *:80>
        ServerAdmin mail@qq.com
        DocumentRoot "E:/Apache2.2/htdocs/web/"
        ServerName 127.0.0.1/web
    	<Directory />
    			Options FollowSymLinks
    			AllowOverride None
    	</Directory>
    	<Directory "E:/Apache2.2/htdocs/web/">
    			Options Indexes FollowSymLinks MultiViews
    			AllowOverride None
    			Order allow,deny
    			allow from all
    	</Directory>
        ServerAlias localhost/web
        Include conf/mod_JK.conf
    </VirtualHost>
    

    4.找到Tomcat的配置文件server.xml(这个步骤不是必须的,取决于第一步的配置worker.controller.port=8009)

    <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    查看一下这两个端口是否一致。不一致需要修改成一致

    经过以上4个步骤我的项目算是可以正常访问了。但是我仍然还是有很多疑问,自己目前解决不了

    参考:

    http://ixdba.blog.51cto.com/2895551/564060/

    http://www.cnblogs.com/itech/archive/2009/08/18/1548723.html

    http://lists.centos.org/pipermail/centos/2012-April/125283.html

    这3篇写得非常好

  • 相关阅读:
    【配置属性】—Entity Framework 对应表字段的类型的设定配置方法
    EntityFrame Work 6 Code First 配置字段为varchar 类型
    Echarts xAxis boundaryGap
    JavaScript Array和string的转换
    SQL server :主键和外键
    SQL server :“增删改查” 之 “改”
    SQL server :“增删改查” 之 “删”
    SQL server :“增删改查” 之 “增”
    Oracle不能连接故障排除【TNS-12541:TNS:无监听程序】
    LNMP平台部署及应用
  • 原文地址:https://www.cnblogs.com/andysd/p/3887146.html
Copyright © 2020-2023  润新知