这是我想要做的,除非我疯了:
我试图用多个工人来使用Tomcat,到目前为止,我得到了OpenBD的工作,但是遇到了Railo的麻烦,而且之后还会对付Adobe。
我的想法是将所有东西都分成模块,我希望能够在一个站点中同时执行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 servers.xml
<Host name =“local.admin.openbd”appBase =“/ Users / [myusername] /Websites/coldfusion.engines”unpackWARs =“false”autoDeploy =“true”xmlValidation =“true”xmlNamespaceAware =“false”>
<上下文path=“”docBase =“openbd /”reloadable =“true”特权=“true”antiResourceLocking =“false”anitJARLocking =“false”allowLinking =“true”>
</ Host>
<Host name =“local.admin.railo”appBase =“/ Users / [my username] /Websites/coldfusion.engines”unpackWARs =“false”autoDeploy =“true”xmlValidation =“true”xmlNamespaceAware =“false”>
<上下文path=“”docBase =“railo /”
reloadable =“true”privileged =“true”antiResourceLocking =“false”anitJARLocking =“false”allowLinking =“true”>
</ Host>
<Host name =“local.mydev.openbd”appBase =“/ Users / [my username] /Websites/coldfusion.engines”unpackWARs =“false”autoDeploy =“true”xmlValidation =“true”xmlNamespaceAware =“false”>
<Context path =“”docBase =“/ Users / [我的用户名] /Websites/example.mydev/wwwroot/”
reloadable =“true”privileged =“true”antiResourceLocking =“false”anitJARLocking =“false”allowLinking =“true”> </ Context>
</ Host>
<Host name =“local.mydev.railo”appBase =“/ Users / [my username] /Websites/coldfusion.engines”unpackWARs =“false”autoDeploy =“true”xmlValidation =“true”xmlNamespaceAware =“false”>
<Context path =“”docBase =“/ Users / [我的用户名] /Websites/example.mydev/wwwroot/”
reloadable =“true”privileged =“true”antiResourceLocking =“false”anitJARLocking =“false”allowLinking =“true”>
</ Host>
我的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铁路
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文件
错误日志输出 [Thu Aug 27 00:54:50.443 2009] [11279:2686719776] init_jk :: mod_jk.c(3183):mod_jk / 1.2.28初始化
[Thu Aug 27 00:54:51.346 2009] [11280:2686719776] [info] init_jk :: mod_jk.c(3183):mod_jk / 1.2.28初始化
[Thu Aug 27 00:55:18.963 2009] [11284:2686719776] [info] jk_open_socket :: jk_connect.c(594):connect to 127.0.0.1:8009 failed(errno = 61)
[9月28日星期二27:55:18.963] [11284:2686719776] [信息] ajp_connect_to_endpoint :: jk_ajp_common.c(922):无法打开套接字到(127.0.0.1:8009)(errno = 61)
[Thu Aug 27 00:55:18.963 2009] [11284:2686719776] [error] ajp_send_request :: jk_ajp_common.c(1507):(openbdadmin)连接到后端失败。 Tomcat可能没有启动或正在监听错误的端口(errno = 61)
(2447):(openbdadmin)向tomcat发送请求失败(可恢复),由于请求发送期间发生错误(企图= 1)
[Thu Aug 27 00:55:19.063 2009] [11284:2686719776] [info] jk_open_socket :: jk_connect.c(594):connect to 127.0.0.1:8009 failed(errno = 61)
[9月28日星期二27:55:19.063 2009] [11284:2686719776] [信息] ajp_connect_to_endpoint :: jk_ajp_common.c(922):无法打开套接字到(127.0.0.1:8009)(errno = 61)
[Thu Aug 27 00:55:19.063 2009] [11284:2686719776] [error] ajp_send_request :: jk_ajp_common.c(1507):(openbdadmin)连接到后端失败。 Tomcat可能没有启动或正在监听错误的端口(errno = 61)
发送请求失败(可恢复),(openbdadmin)发送请求失败(可恢复),因为请求发送过程中的错误(尝试= 1) 2)
[Thu Aug 27 00:55:19.063 2009] [11284:2686719776] [error] ajp_service :: jk_ajp_common.c(2466):(openbdadmin)连接到tomcat失败。
[Thu Aug 27 00:55:19.063 2009] [11284:2686719776] [info] jk_handler :: mod_jk.c(2615):服务错误= -3 for worker = openbdadmin
[Thu Aug 27 00:55:20.377 2009] [11283:2686719776] [info] jk_open_socket :: jk_connect.c(594):connect to 127.0.0.1:8009 failed(errno = 61)
[9月28日星期二27:55:20.377 2009] [11283:2686719776] [信息] ajp_connect_to_endpoint :: jk_ajp_common.c(922):无法打开套接字(127.0.0.1:8009)(errno = 61)
[Thu Aug 27 00:55:20.377 2009] [11283:2686719776] [error] ajp_send_request :: jk_ajp_common.c(1507):连接到后端的(railoadmin)失败。 Tomcat可能没有启动或正在监听错误的端口(errno = 61)
(2447):(railoadmin)向tomcat发送请求失败(可恢复),由于请求发送期间发生错误(企图= 1)
[Thu Aug 27 00:55:20.477 2009] [11283:2686719776] [info] jk_open_socket :: jk_connect.c(594):connect to 127.0.0.1:8009 failed(errno = 61)
[Thu Aug 27 00:55:20.477 2009] [11283:2686719776] [info] ajp_connect_to_endpoint :: jk_ajp_common.c(922):无法打开套接字到(127.0.0.1:8009)(errno = 61)
[Thu Aug 27 00:55:20.477 2009] [11283:2686719776] [error] ajp_send_request :: jk_ajp_common.c(1507):(railoadmin)连接到后端失败。 Tomcat可能没有启动或正在监听错误的端口(errno = 61)
(2447):(railoadmin)向tomcat发送请求失败(可恢复),因为请求发送期间发生错误(attempt = 2)
[Thu Aug 27 00:55:20.477 2009] [11283:2686719776] [error] ajp_service :: jk_ajp_common.c(2466):(railoadmin)连接到tomcat失败。
[Thu Aug 27 00:55:20.477 2009] [11283:2686719776] [info] jk_handler :: mod_jk.c(2615):服务错误= -3 for worker = railoadmin
您通常需要Tomcat主机的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运行请求(至less不是没有一些奇特的连接器的东西 – 您可以让JRun实例/连接器运行,同时在RailO 或 OpenBD的WEB-INF中运行Web根,然后使用2个不同的Apache虚拟主机来处理…但这一切听起来很凌乱:)。 所以,既然你不能在这个设置的同时运行它们,我不知道你为什么使用不同的主机名?
另外值得注意的是,每次更换(重新映射符号链接)WEB-INF文件夹时,您都可能需要重新启动Tomcat服务。
最后,如果你对所有三个Tomcat主机条目都有相同的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>