首先,我对 IIS 和 Windows Server 完全陌生。以前我只在 Apache 和 Linux 上工作。
我想将 IIS8 和 Tomcat 7.0.34 链接到一个子域下,这样当有人访问subdom.mydomain.com
时,IIS 只会将请求转发到 tomcat
我参考了这两个参考资料:
http://lab.usgin.org/applications/doc/make-tomcat-6x-work-iis7 http://tomcat.apache.org/connectors-doc/reference/iis.html
并完全按照他们展示的那样做了。以下是我所做的步骤:
下载自 Windows x64 ISAPI 二进制文件http://apache.techartifact.com/mirror//tomcat/tomcat-connectors/jk/binaries/windows/并将其放在我的 tomcat 安装目录下创建的
isapi_redirect.dll
目录名中。isapi
我创建了一个workers.properties文件并将其放在tomcat的
conf
目录中
worker.list= tomcatworker1 worker.tomcatworker1.host=localhost worker.tomcatworker1.端口=8009 worker.tomcatworker1.类型=ajp13
- 然后我创建了一个
uriworkermap.properties
文件并将其放在 tomcat 的conf
目录中,内容如下(因为我希望 tomcat 的根应用程序在子域的根路径下运行):
/*=tomcatworker1
然后我创建了一个isapi_redirect.properties
文件并将其放在isapi
我的 tomcat 安装下的目录中,内容如下:
# Jakarta ISAPI 重定向器的配置文件 # ISAPI 重定向器扩展的路径,相对于网站 # 这必须位于具有执行权限的虚拟目录中 extension_uri=\tomcat\isapi_redirect.dll # ISAPI 重定向器日志文件的完整路径 log_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\logs\isapi_redirect.log # 日志级别(调试、信息、警告、错误或跟踪) log_level=信息 # worker.properties 文件的完整路径 worker_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\conf\workers.properties # uriworkermap.properties 文件的完整路径 worker_mount_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\conf\uriworkermap.properties
在 IIS 管理器中,在主服务器节点中选择 ISAPI 和 CGI 限制功能。打开它并添加一个包含以下信息的新限制:
ISAPI 或 CGI 路径 = {我的 Tomcat 目录路径}\isapi\isapi_redirect.dll 描述 = Tomcat 选择“允许扩展路径执行”
创建了一个具有绑定的新站点subdom.mydomain.com
,并在其中添加了一个具有以下属性的新虚拟目录:
别名 = tomcat 物理路径 = {我的 Tomcat 根目录}\isapi
接下来,ISAPI 筛选器功能位于我的新网站节点下。使用以下信息创建一个新筛选器:
过滤器名称 = tomcat 可执行文件 = {我的 Tomcat 根目录}\isapi\isapi_redirect.dll
最后,确保 ISAPI 处理程序已启用。
完成所有这些操作后,当我访问我的子域时,出现了运行时错误,我不知道如何解决。请在此链接处查看错误http://backops.cmee.in/
答案1
除非虚拟目录使用名称,否则我配置它从来没有多大成功雅加达仅此而已。会议和日志目录需要是 ISAPI 安装目录的子目录。
如果您使用右键单击和新建文本文档创建了这些 .properties 文件,则 Windows 不会为它们添加 .txt 扩展名。
最后,使用127.0.0.1代替本地主机在您的workers.properties中。我不知道为什么,但是在Windows 2012上使用localhost不起作用。