微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用80端口的多个tomcat实例

我有三个不同的应用程序的三个tomcat实例。 他们在一台机器上使用8080,8081,8082个端口。 如何更改configuration,使用户能够从80端口访问不同的主机名? 我在我的机器上安装了一个Apache,并尝试使用以下教程进行configuration: 如何在Windows上使用Apache平衡Tomcat 5.5,直到启动负载平衡点。 我有基于这个教程的问题。 我的web应用程序在所有tomcat实例的webapps / ROOT下。 我在httpd.conf有这个configuration:

<IfModule jk_module> JkWorkersFile D:containters_tomcat_backendconfworkers.properties JkShmFile D:containters_tomcat_backendlogsmod_jk.shm JkLogFile D:containters_tomcat_backendlogsmod_jk.log JkLogLevel debug JkMount / worker1 JkMount / worker2 </IfModule>

当我从命令提示符运行httpd.exe时,我得到了这个警告:

[警告] NameVirtualHost *:80没有VirtualHosts

我正确的方式使我的应用程序与80端口工作? 我怎样才能configuration这个警告?

在Apache服务器中指向不同端口的多个域

永久的USB端口名称? (Linux)

如何在Xampp中更改Apache的端口号

IPC端口范围

卸载MysqL后如何设置3306端口?

Apache不会在xampp中运行

得到一个错误 – 在Windows机器上听EADDRINUSE ::: 3000

Nginx错误:绑定()到0.0.0.0:80失败。 没有权限

如何通过batch file打开Windows防火墙上的端口

来自PID的Windows进程

对于您的方案,您将不需要负载平衡。 在你的httpd.conf中,你应该为你想要使用的主机名定义3个虚拟主机(如这里所描述的)。 在每个VirtualHost指令中,插入一个工人的JkMount以定义在您的workers.properties中,如:

JkMount /* worker1 ... # same for worker2 and worker3 in the other virt. hosts

现在来了workers.properties:

... worker.list = worker1,worker2,worker3 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker2.port=8010 worker.worker2.host=localhost worker.worker3.type=ajp13 worker.worker3.port=8011 worker.worker3.host=localhost worker.worker3.type=ajp13

注意:我使用不同于你指定的端口,因为Apache和Tomcat之间的通信是通过AJP运行的。 最后,在每个tomcat的server.xml中添加一个匹配的AJP连接器:

<Connector port="8009" protocol="AJP/1.3" />

看到这个更多的细节。 您提到的警告似乎是由不完整的虚拟主机配置造成的。 没有定义VirtualHost实例吗?

编辑 :如果你不喜欢那么多的配置,你也可以使用你的Apache作为代理,并通过ProxyPass / ProxyPassReverse指令将流量分配给你的tomcats。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐