Adobe Coldfusion Railo OpenBD Apache Tomcat 多个站点

Adobe Coldfusion Railo OpenBD Apache Tomcat 多个站点

除非我疯了,否则这就是我想做的事情:
我试图将 Tomcat 与多个工作程序一起使用,到目前为止,我让 OpenBD 运行,但在 Railo 上遇到了问题,之后将解决 Adob​​e 的问题。

  • 每台发动机的部署都如同一场战争
  • 由不同的工人分开
  • 我想将网站和引擎都保留在我的网站目录中
  • 当我切换引擎时,我必须重新映射 WEB-INF 的符号链接 = 还没有找到解决这个问题的方法

我的想法是将所有内容分成模块,并且我希望能够在单个站点中执行 cfm 和 php 代码。理想情况下,如果有一种方法不必重新映射符号链接,那就太棒了。有什么

想法吗?这可以做到吗?我正在尝试模拟如何在实时服务器上进行设置,例如不使用 eclipse。以下是我目前的工作内容:

我的 Apache Workers.properties

worker.list=openbd、openbdadmin、railo、railoadmin 
worker.openbd.type=ajp13 
worker.openbd.host=local.mydev.openbd
  worker.openbd.port=8009

worker.openbdadmin.type=ajp13  worker.openbdadmin.host=local.admin.openbd worker.openbdadmin.port=8009   worker.railo.type=ajp13
worker.railo.host=local.mydev.railo worker.railo.port=   8009 worker.railoadmin.type=ajp13  worker.railoadmin.host=local.admin.railo   worker.railoadmin.port =8009  









我的 tomcat 服务器.xml
< 主机名="local.admin.openbd" appBase="/Users/[我的用户名]/Websites/coldfusion.engines" unpackWARs="false" autoDeploy="true" xmlValidation="true" xmlNamespaceAware="false">       
< 上下文路径="" docBase="openbd/" reloadable="true"privilege="true" antiResourceLocking="false" anitJARLocking="false" allowLinking="true">

</主机>
      

< 主机名="local.admin.railo" appBase="/Users/[我的用户名]/Websites/coldfusion.engines" unpackWARs="false" autoDeploy="true" xmlValidation="true" xmlNamespaceAware="false">       
< 上下文路径="" docBase="railo/" 
reloadable="true"privilege="true" antiResourceLocking="false" anitJARLocking="false" allowLinking="true">

</主机>


< 主机名="local.mydev.openbd" appBase="/Users/[我的用户名]/Websites/coldfusion.engines" unpackWARs="false" autoDeploy="true" xmlValidation="true" xmlNamespaceAware="false">

< 上下文路径="" docBase="/Users/[我的用户名]/Websites/example.mydev/wwwroot/" 
reloadable="true"privilege="true" antiResourceLocking="false" anitJARLocking="false" allowLinking="true"></Context>

</主机>

< 主机名="local.mydev.railo" appBase="/Users/[我的用户名]/Websites/coldfusion.engines" unpackWARs="false" autoDeploy="true" xmlValidation="true" xmlNamespaceAware="false">

< 上下文路径="" docBase="/Users/[我的用户名]/Websites/example.mydev/wwwroot/" 
reloadable="true"privilege="true" antiResourceLocking="false" anitJARLocking="false" allowLinking="true">

</主机>

我的 Apache 虚拟主机


ServerName local.admin.openbd
DocumentRoot /Users/[我的用户名]/Websites/coldfusion.engines/openBD/
#Mount OpenBD 并告诉它仅服务器 cfml 文件
JkMount /.cfm openbdadmin
ErrorLog "/Users/[我的用户名]/Websites/apache.logs/local_openbdadmin_error.log"


ServerName local.admin.railo
DocumentRoot /Users/[我的用户名]/Websites/coldfusion.engines/railo/
#Mount Railo 并告诉它仅服务器 cfml 文件
JkMount /
.cfm railoadmin
ErrorLog "/Users/[我的用户名]/Websites/apache.logs/local_railoadmin_error.log"

ServerName local.mydev
DocumentRoot /Users/[我的用户名]/Websites/example.mydev/wwwroot
ErrorLog "/Users/[我的用户名]/Websites/apache.logs/local_example_mydev_error.log"


ServerName local.mydev.openbd
DocumentRoot /Users/[我的用户名]/Websites/example.mydev/wwwroot
#Mount OpenBD 并告诉它仅服务器 cfml 文件
JkMount /.cfm openbd
ErrorLog "/Users/[我的用户名]/Websites/apache.logs/local_example_mydev_openbd_error.log"


ServerName local.mydev.railo
DocumentRoot /Users/[我的用户名]/Websites/example.mydev/wwwroot
JkMount /
.cfm railo
ErrorLog“/Users/[我的用户名]/Websites/apache.logs/local_example_mydev_railo_error.log”

我正在使用的文件夹结构

网站/apache.logs/
网站/coldfusion.engines/
网站/coldfusion.engines/cfusion/
网站/coldfusion.engines/openBD/
网站/coldfusion.engines/railo/网站
/example.mydev/
网站/example.mydev/wwwroot/
网站/example.mydev/wwwroot/index.cfm  网站
/example.mydev/wwwroot/index.htm  
网站/example.mydev/wwwroot/index.php  

错误日志输出 [2009 年 8 月 27 日星期四 00:54:50.443] [11279:2686719776] [信息] init_jk::mod_jk.c (3183): mod_jk/1.2.28 已初始化

[2009 年 8 月 27 日星期四 00:54:51.346] [11280:2686719776] [信息] init_jk::mod_jk.c (3183): mod_jk/1.2.28 已初始化

[2009 年 8 月 27 日星期四 00:55:18.963] [11284:2686719776] [信息] jk_open_socket::jk_connect.c (594):连接到 127.0.0.1:8009 失败 (errno=61)

[2009 年 8 月 27 日星期四 00:55:18.963] [11284:2686719776] [信息] ajp_connect_to_endpoint::jk_ajp_common.c (922): 无法打开到 (127.0.0.1:8009) 的套接字 (errno=61)

[2009 年 8 月 27 日星期四 00:55:18.963] [11284:2686719776] [错误] ajp_send_request::jk_ajp_common.c (1507): (openbdadmin) 连接后端失败。Tomcat 可能未启动或正在监听错误的端口 (errno=61)

[2009 年 8 月 27 日星期四 00:55:18.963] [11284:2686719776] [info] ajp_service::jk_ajp_common.c (2447): (openbdadmin) 向 tomcat 发送请求失败(可恢复),因为在发送请求期间出现错误(尝试次数 = 1)

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [信息] jk_open_socket::jk_connect.c (594):连接到 127.0.0.1:8009 失败 (errno=61)

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [信息] ajp_connect_to_endpoint::jk_ajp_common.c (922): 无法打开到 (127.0.0.1:8009) 的套接字 (errno=61)

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [错误] ajp_send_request::jk_ajp_common.c (1507): (openbdadmin) 连接后端失败。Tomcat 可能未启动或正在监听错误的端口 (errno=61)

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [info] ajp_service::jk_ajp_common.c (2447): (openbdadmin) 向 tomcat 发送请求失败(可恢复),因为在发送请求期间出现错误(尝试次数=2)

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [错误] ajp_service::jk_ajp_common.c (2466): (openbdadmin) 连接到 tomcat 失败。

[2009 年 8 月 27 日星期四 00:55:19.063] [11284:2686719776] [信息] jk_handler::mod_jk.c (2615): worker=openbdadmin 的服务错误=-3

[2009 年 8 月 27 日星期四 00:55:20.377] [11283:2686719776] [信息] jk_open_socket::jk_connect.c (594):连接到 127.0.0.1:8009 失败 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.377] [11283:2686719776] [信息] ajp_connect_to_endpoint::jk_ajp_common.c (922): 无法打开至 (127.0.0.1:8009) 的套接字 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.377] [11283:2686719776] [错误] ajp_send_request::jk_ajp_common.c (1507): (railoadmin) 连接后端失败。Tomcat 可能未启动或正在监听错误的端口 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.377] [11283:2686719776] [info] ajp_service::jk_ajp_common.c (2447): (railoadmin) 向 tomcat 发送请求失败(可恢复),因为在发送请求期间出现错误(尝试次数 = 1)

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [信息] jk_open_socket::jk_connect.c (594):连接到 127.0.0.1:8009 失败 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [信息] ajp_connect_to_endpoint::jk_ajp_common.c (922): 无法打开到 (127.0.0.1:8009) 的套接字 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [错误] ajp_send_request::jk_ajp_common.c (1507): (railoadmin) 连接后端失败。Tomcat 可能未启动或正在监听错误的端口 (errno=61)

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [info] ajp_service::jk_ajp_common.c (2447): (railoadmin) 向 tomcat 发送请求失败(可恢复),因为在发送请求期间出现错误(尝试次数=2)

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [错误] ajp_service::jk_ajp_common.c (2466): (railoadmin) 连接到 tomcat 失败。

[2009 年 8 月 27 日星期四 00:55:20.477] [11283:2686719776] [信息] jk_handler::mod_jk.c (2615): 服务错误 = -3,针对 worker = railoadmin

答案1

您通常希望 Tomcat Host 的 appbase="webapps"(默认)并让 Context 的 docBase 指向您的 Web 根目录 (docBase="/Users/[my username]/Websites/example.mydev/wwwroot/")。您的 Web 根目录将包含您正在使用的任何 WAR(ColdFusion/OpenBD/Railo)的 WEB-INF。听起来您正在使用符号链接或其他东西作为 WEB-INF 目录?

无论如何,您都无法在同一个 Web 根目录中针对 3 个不同的 WAR 运行请求(至少在没有一些花哨的连接器的情况下——您可以让 JRun 实例/连接器在拥有 Railo 的 WEB-INF 的同时运行或者然后,Web 根目录中的 OpenBD 使用 2 个不同的 Apache vhost 来处理……但这一切听起来都很混乱:)。因此,由于您无法使用此设置同时运行它们,我不确定您为什么要使用单独的主机名?

还值得注意的是,每次替换(重新映射符号链接)WEB-INF 文件夹时,您可能需要重新启动 Tomcat 服务。

最后,如果您确实对所有三个 Tomcat Host 条目使用了相同的 Web 根 (docBase),我想这肯定会导致问题 —— 这可能是错误的根源,但不确定。由于您希望每个主机都使用相同的 Web 根,因此您不妨使用别名(或仅使用一个主机),如下所示:

<Host name="local.mydev" appBase="webapps">
<Alias>local.mydev.railo</Alias>
<Alias>local.mydev.openbd</Alias>
<Context path="" docBase="/Users/[my username]/Websites/example.mydev/wwwroot" />
</Host>

相关内容