﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Noah-文章分类-mod_jk</title><link>http://www.blogjava.net/Noah/category/53994.html</link><description>&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang="ZH-CN"&gt;不是经典我不发&lt;/span&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 01 Nov 2013 10:15:20 GMT</lastBuildDate><pubDate>Fri, 01 Nov 2013 10:15:20 GMT</pubDate><ttl>60</ttl><item><title>mod_jk(Apache+mod_jk+tomcat)配置全攻略[转]</title><link>http://www.blogjava.net/Noah/articles/405908.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Fri, 01 Nov 2013 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/405908.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/405908.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/405908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/405908.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/405908.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 首先虽然这个mod_jk已经过时，但还是放出来大家一起学习一下，文章主要分三部分内容： 1.第一部分：说明主要配置过程2.第二部分：贴出我的httpd.conf文件3.第三部分：对mod_jk代码讲解(来源百度)&nbsp;第一部分：配置1. 准备环境：操作系统：windows7httpd-2.2.21-win32-x86-no_ssl.msiapache-to...&nbsp;&nbsp;<a href='http://www.blogjava.net/Noah/articles/405908.html'>阅读全文</a><img src ="http://www.blogjava.net/Noah/aggbug/405908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2013-11-01 18:04 <a href="http://www.blogjava.net/Noah/articles/405908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache转发请求到Glassfish</title><link>http://www.blogjava.net/Noah/articles/405907.html</link><dc:creator>眼镜蛇</dc:creator><author>眼镜蛇</author><pubDate>Fri, 01 Nov 2013 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/Noah/articles/405907.html</guid><wfw:comment>http://www.blogjava.net/Noah/comments/405907.html</wfw:comment><comments>http://www.blogjava.net/Noah/articles/405907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Noah/comments/commentRss/405907.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Noah/services/trackbacks/405907.html</trackback:ping><description><![CDATA[服务器的架设中，很多时候处于安全和性能上的一些需要，会用Apache来处理前端的一些请求，比如图片了一些东西。也为了安全考虑，只允许用户可以访问到Apache，所有有关动态交互的访问数据库的东西都在另外一台或几台服务上，这台服务器只有Apache可以访问，用户是不能访问到的。<br />所以这里就来说一下，这样的一个网络结构，应该怎么实现程序的正常处理。<br /><br />首先下载mod_jk.so，<br />windows:<a href="http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/">http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/</a><br />Linux:<a href="http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.21/">http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.21/</a><br />下载后，如果名字不一样，要改成和这个名字一样的，然后放置在apache的modules目录下<br />然后在apache的conf目录新建一个workers.properties文件，内容如下： 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">#&nbsp;Define&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;real&nbsp;worker&nbsp;using&nbsp;ajp13<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.list</span><span style="color: #000000">=</span><span style="color: #000000">worker1<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />#&nbsp;Set&nbsp;properties&nbsp;for&nbsp;worker1&nbsp;(ajp13)<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.type</span><span style="color: #000000">=</span><span style="color: #000000">ajp13<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.host</span><span style="color: #000000">=</span><span style="color: #000000">127.0.0.1</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />#&nbsp;好多人都用8080端口<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />#&nbsp;但如果用了的话，就会被apache占用，<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />#&nbsp;这样就无法直接访问Glassfish了<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.port</span><span style="color: #000000">=</span><span style="color: #000000">9090</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.lbfactor</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.cachesize</span><span style="color: #000000">=</span><span style="color: #000000">128</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.cache_timeout</span><span style="color: #000000">=</span><span style="color: #000000">600</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />worker.worker1.socket_keepalive</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />#worker.worker1.reclycle_timeout</span><span style="color: #000000">=</span><span style="color: #000000">300</span></div>需要注意的是，host和port。host就是GlassFish所在主机的ip，端口就是GlassFish打开jk支持的Network Listener所监听的端口。GlassFish如何打开jk支持下文会讲述。<br />然后修改apache的httpd.conf文件，加入一些jk相关的配置：<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&lt;</span><span style="color: #000000">IfModule </span><span style="color: #000000">!</span><span style="color: #000000">mod_jk</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />LoadModule jk_module </span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">modules/mod_jk.so</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">IfModule</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> Where to find workers.properties</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkWorkersFile conf</span><span style="color: #000000">/</span><span style="color: #000000">workers</span><span style="color: #000000">.</span><span style="color: #000000">properties<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> Where to put jk logs</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkLogFile logs</span><span style="color: #000000">/</span><span style="color: #000000">mod_jk</span><span style="color: #000000">.</span><span style="color: #0000ff">log</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> Set the jk log level [debug/error/info]</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkLogLevel info<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> Select the log format</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkLogStampFormat </span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">[%a %b %d %H:%M:%S %Y] </span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> JkOptions indicate to send SSL KEY SIZE,</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkOptions </span><span style="color: #000000">+</span><span style="color: #000000">ForwardKeySize </span><span style="color: #000000">+</span><span style="color: #000000">ForwardURICompat </span><span style="color: #000000">-</span><span style="color: #000000">ForwardDirectories<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">#</span><span style="color: #008000"> JkRequestLogFormat set the request format</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">JkRequestLogFormat </span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">%w %V %T</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />JkShmFile logs</span><span style="color: #000000">/</span><span style="color: #000000">mod_jk</span><span style="color: #000000">.</span><span style="color: #000000">shm<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />JkMount </span><span style="color: #000000">/*.</span><span style="color: #000000">jsp worker1<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />JkMount </span><span style="color: #000000">/*.</span><span style="color: #000000">action worker1<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />JkMount </span><span style="color: #000000">/*.</span><span style="color: #0000ff">do</span><span style="color: #000000"> worker1</span></div>
<p>下面配置GlassFish v3：</p>
<p>通过浏览器进入GlassFish v3的admin console，展开configuration-&gt;network config-&gt;network listeners，页面会列出现有的所有监听的端口。例如默认的http-listener1监听8080，http-listener2监听8181，admin-listener监听4848。<br />刚才说了为了不影响 Glassfish的单独访问，这里我们不用8080，我们可以新建一个Listener,除了端口以外其它都一样,如图<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/noah/gf001.png" width="809" height="263" /><br />然后建成功后，点击进入，勾选上 JK Listener。<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/noah/gf002.png" width="475" height="481" /><br />这样以来，所有有关动态解析的一些请求就会转给Glassfish处理了。<br /></p><img src ="http://www.blogjava.net/Noah/aggbug/405907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Noah/" target="_blank">眼镜蛇</a> 2013-11-01 17:52 <a href="http://www.blogjava.net/Noah/articles/405907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>