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

[经验分享] Windows + Apache 2.2 + mod_aspdotnet + mod_jk + Tomcat + fastcgi + PHP + wincach

[复制链接]

尚未签到

发表于 2015-8-2 11:35:56 | 显示全部楼层 |阅读模式

  • 【Apache】到 http://httpd.apache.org/ 下载 Windows 安装版。本文编写时,当前稳定版为 httpd-2.2.21-win32-x86-openssl-0.9.8r.msi ,安装到 C:\Apache2.2 。
  • 【mod_aspdotnet】可以到 http://sourceforge.net/projects/mod-aspdotnet/ 下载 msi 安装版本。但本文编写时, mod_aspdotnet 存在一个 bug:当设置多个 cookie 时,只能有一个 cookie 成功。经过搜索,已有解决办法:http://sourceforge.net/tracker/?func=detail&aid=1744455&group_id=175077&atid=871785 ,需要自己编译。

    [下载代码] 于是,通过 svn co https://mod-aspdotnet.svn.sourceforge.net/svnroot/mod-aspdotnet mod-aspdotnet 下载源代码,按照前面说的修改办法进行修改相应代码。


    // WorkerRequest.h, Line 542
    // virtual void SendKnownResponseHeader(int index, String* value)
    if (index == HeaderContentType)  ap_set_content_type(rr, poolval);
    else if(index == HeaderSetCookie)
        apr_table_addn(rr->headers_out, response_headers_name_c[index], poolval);
    else
        apr_table_setn(rr->headers_out, response_headers_name_c[index], poolval);

    [编译] 按照 mod_aspdotnet2/trunk/README.txt 所讲步骤进行编译。从“Visual Studio 2005 命令提示”开始运行,设置环境变量 set APACHE22_PATH=C:\Apache2.2,然后运行 devenv mod_aspdotnet.sln /useenv /build "Release 2.2" /project mod_aspdotnet 。编译得到两个输出: Apache.Web.dll 和 mod_aspdotnet.so

    [安装] 将 Apache.Web.dll 复制到 C:\Apache2.2\bin 目录下。执行 .NET 工具 gacutil.exe 将 Apache.Web.dll 注册到全局缓冲区。我使用的是 .NET 2.0,因此使用 2.0 版本中的 gacutil.exe 。将 mod_aspdotnet.so 复制到 C:\Apache2.2\modules 目录下,通过 Apache 配置文件启用。
  • 【mod_aspdotnet】根据配置文档,配置 mod_aspdotnet 方式为:

      AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
                       licx rem resources resx soap vb vbproj vsdisco webinfo
    AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
               "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"

        Options FollowSymlinks
        Order allow,deny
        Allow from all



    当某一个 VirtualHost 需要使用 .NET 支持时,在 VirtualHost 或全局添加:


        AspNetMount / "C:/Inetpub/Inetpub"

  • 【mod_jk】到 http://tomcat.apache.org/connectors-doc/ 下载 mod_jk 在 windows 下的发行版,本文编写时,使用的是 mod_jk-1.2.31-httpd-2.2.3.so,复制到 C:\Apache2.2\modules 下,并在 Apache 中启用。配置与 Tomcat 之间的连接。配置方式为:
    httpd.conf



        JkWorkersFile conf/workers2.properties
        JkLogFile logs/mod_jk.log
        JkLogLevel info
        # Select the log format
        JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
        # JkRequestLogFormat set the request format
        JkRequestLogFormat "%w %V %T"
        HostnameLookups Off
    workers2.properties


    worker.list=loadbalancer,local
    #-------------------
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=local
    worker.loadbalancer.sticky_session=false
    worker.template.host=127.0.0.1
    worker.template.port=8009
    worker.template.type=ajp13
    worker.template.lbfactor=1
    worker.template.ping_timeout=1000
    worker.template.ping_mode=A
    worker.template.socket_timeout=10
    worker.template.connection_pool_timeout=600

    worker.local.reference=worker.template  
    当某一个 VirtualHost 需要启用 jsp 时,可在 VirtualHost 中配置:

        JkMount /*.jsp local
  • 【fastcgi】【mod_fcgid】为了运行 PHP 脚本,采用 fasgcgi 方式。我没有选用 mod_fastcgi ,而改为选用的是 mod_fcgid,下载地址 http://httpd.apache.org/mod_fcgid/ 。 本文编写时,选用的版本是 mod_fcgid-2.3.6-win32-x86.zip 。在 Apache 中启用,配置方式为:



        AddHandler fcgid-script .php
        FCGIWrapper "C:/PHP5/php-cgi.exe" .php
        # 10M
        FcgidMaxRequestLen 10485760

  • 【PHP】【Tomcat】安装方法不在此赘述。
  • 【wincache】安装 wincache-1.0.1-5.2-nts-vc6-x86.exe 或者直接把 php_wincache.dll 复制到 C:\PHP5\ext ,并在 php.ini 中启用。

运维网声明 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-93277-1-1.html 上篇帖子: linux+apache+mysql+php+zend 脚本 下篇帖子: windows 服务apache安装失败 若干解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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