iis 6.0 + tomcat 6.0 啊,弄了好几天才好,最终不会配roller,还是放弃了用jsp blog,太麻烦了,最后用了php的wordpress
配置iis+tomcat,用到的工具(按安装顺序: jdk,tomcat,jk),服务器 win2003
jdk 1.6 下载地址: http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html_zh_CN.zip
tomcat 6.0 http://www.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.exe
jk 这里出了点问题,最初是在 http://archive.apache.org 下载dll,配置好后调试出现 “函数不正确”问题,后来改下载了isapi_redirect-1.2.8.exe ,安装使用就没有出现此问题了,如果找不到此文件,请在此留言跟我索取
下载好后按顺序安装好 , jdk装在 C:/Program Files/Java ,tomcat在 C:/Program Files/Apache Software Foundation/Tomcat 6.0, jk在 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin
isapi_redirect.dll 放在 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/jakarta 目录下(这个位置不重要,之后的设置对应好就是),网上看到有些人说要设置什么权限的,我好像一直没设置权限也可以了,估计默认的权限已经足够
开始设置iis:新建一个网站,设置你的域名,假设是www.xxx.com,主目录 D:/elthsblog/ROOT , elthsblog是网站目录,ROOT要大写,待会再解释,文件夹该给的权限先给了;
添加筛选器:网站建好后,点右键进入属性->进入ISAPI筛选器->添加一个筛选器 在 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/jakarta 找到 isapi_redirect.dll ,筛选器名字叫 jakarta(这个名字应该不重要,虽然我也是按照网上写了jakarta),点确定,重新进来,看是否生效(绿色箭头生效,红色箭头无效),如果重新进入属性页却不见筛选器有任何箭头,可以先访问一下该网站,有时候筛选器需要网站被请求过才会生效 (我在这里卡了几个小时);
添加jsp扩展名:继续进入属性页 -> 进入主目录 -> 配置 ->添加一个扩展名映射 扩展名 .jsp ,可执行文件也是 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/jakarta/isapi_redirect.dll;
添加虚拟目录:退出属性页,网站的地方点右键-> 新建->虚拟目录 名字一定要叫 jakarta, 路径是C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/jakarta/ (此步重要,是对应注册表中执行isapi_redirect.dll的位置)
iis设置完成,开始配置tomcat中的网站
配置 server.xml :用记事本打开 C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf 的 server.xml,在 <Host name="localhost"上再增加一个host标签,我的是:
<Host name="www.elthsblog.com" appBase="D:/elthsblog" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="vtch_vm_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
这种写法是在appBase设置网站位置,自动会读取该目录下ROOT(记得大写)文件夹的内容为网站内容;
保存,重启apache,访问 http://www.你的域名.com:8080/ ,如果有报错要不就是server.xml写错,要不就路径有问题,访问正常的话就可以试试 http://www.你的域名.com 了
如果不行,可能以下几个原因,我也不确定,欢迎讨论
1 出现“函数不正确”,网上说是 isapi_redirect.dll没权限,我自己的无论怎样加权限都是一样,后来换个jk版本就可以了(换成了exe安装包的)
2 无法访问页面,把筛选器里面的dll清除掉就可以,这个问题我也不知道怎么解决好的,重启了几下apache就可以了
3 可以访问htm,html,无法运行jsp,检查server.xml是域名和路径是否对应好,检查是否增加了jsp扩展,检查 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/conf 里的uriworkermap.properties是否有jsp映射,我的uriworkermap.properties里是这样的:
# uriworker.properties -
#
# This file provides sample mappings for example
# ajp13w worker defined in workermap.properties.minimal
/servlet-examples/*=ajp13w
# Now filter out all .jpeg files inside that context
# For no mapping the url has to start with exclamation (!)
!/servlet-examples/*.jpeg=ajp13w
/*.jsp=ajp13w
/*=ajp13w
其他可能会影响到的问题
1 web扩展里面,增加一个叫jakarta的服务扩展,路径也是 isapi_redirect.dll的路径,感觉这个设置好像没什么用是的
2 另外我在web扩展里面是开了允许所有未知ISAPI扩展的
3 不小心把筛选器加到其他网站去了,居然会影响本网站生效。。。。
4 检查一下注册表跟所有配置文件是否对应
在运行敲 regedit打开注册表 ,搜jakarta,进1.0,看看几个路径是否正确 , extension_uri是指本网站的虚拟网站路径,是/jakarta/isapi_redirect.dll,worker_file是workers.properties.minimal的位置,我的在 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/conf,我的workers.properties.minimal文件最后几项是
worker.ajp13w.type=ajp13
worker.ajp13w.host=www.elthsblog.com
worker.ajp13w.port=8009
worker_mount_file,我的位置是 C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/conf/uriworkermap.properties,后来在此文件增加了一个 /*=ajp13w ,意思是所有文件都映射到tomcat里运行,不过貌似没有什么影响