Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ApacheHTTP实例支持Tomcat的最简单方法_Tomcat_Apache_Cluster Computing_Failover - Fatal编程技术网

使用ApacheHTTP实例支持Tomcat的最简单方法

使用ApacheHTTP实例支持Tomcat的最简单方法,tomcat,apache,cluster-computing,failover,Tomcat,Apache,Cluster Computing,Failover,我有一个Tomcat6实例,在多次WAR部署后,由于PermGen问题,它经常需要重新启动 在生产环境中,关闭站点显然是一种不好的做法,只会导致任何访问者出现连接故障。重要的是建立一个包含一个或两个以上实例的故障转移Tomcat集群,但现在我想要一个简单的解决方案: 当Tomcat关闭时,所有请求都被转发到运行1个简单的“站点正在维护”类型页面的Apache HTTP服务器 我想我需要一些小的、超快速的代理来坐在Tomcat前面,为它提供请求并监控它的运行状况。如果它死了,它只会将这些请求发送到

我有一个Tomcat6实例,在多次WAR部署后,由于PermGen问题,它经常需要重新启动

在生产环境中,关闭站点显然是一种不好的做法,只会导致任何访问者出现连接故障。重要的是建立一个包含一个或两个以上实例的故障转移Tomcat集群,但现在我想要一个简单的解决方案:

当Tomcat关闭时,所有请求都被转发到运行1个简单的“站点正在维护”类型页面的Apache HTTP服务器

我想我需要一些小的、超快速的代理来坐在Tomcat前面,为它提供请求并监控它的运行状况。如果它死了,它只会将这些请求发送到ApacheHTTP


想法?

您可以在安装tomcat之前使用Apache。为tomcat设置重定向代理规则。如果这不起作用,apache将发送一个“503服务暂时不可用”,您可以将其配置为维护页面

apache应用程序文件看起来有点像这样

<VirtualHost *>
    ServerName example.com
    ServerAlias *.example.com
    ServerAdmin admin@example.com

    RewriteEngine on
    RewriteRule ^/static/(.*) /some/path/for/static/files/static/$1 [L]
    RewriteRule ^(.*) http://127.0.0.1:8080$1 [P]

    ErrorLog /var/log/apache2/example/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/example/access.log combined
    ServerSignature On

    ErrorDocument 503 /static/site_down.html
</VirtualHost>

ServerName example.com
ServerAlias*.example.com
服务器管理员admin@example.com
重新启动发动机
重写规则^/static/(.*)/some/path/for/static/files/static/$1[L]
重写规则^(.*)http://127.0.0.1:8080$1[P]
ErrorLog/var/log/apache2/example/error.log
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
CustomLog/var/log/apache2/example/access.log组合
服务器签名
ErrorDocument 503/static/site_down.html
第一个重写规则将某个URI(/static/)下的所有文件更改为一个目录,从该目录直接提供这些静态文件,而无需代理。您也可以使用它来服务网站上的所有静态资源,这在某种程度上弥补了在tomcat前面使用apache所造成的总体(小)性能损失

ErrorDocument指令更改对位于该静态路径中的文档站点_down.html的正常503响应

为此,您需要启用mod_rewrite和mod_proxy/mod_proxy\u http和 在apache2配置中启用代理

<Proxy *>
        Order Deny,Allow
        Deny from all
        Allow from all
</Proxy>

命令拒绝,允许
全盘否定
通融