当我需要暂时结束 Zope 服务器以做某事时,我一直遇到这个问题。如果我运行脚本
./bin/zopectrl fg 或 ./bin/isntance fg
它启动 zope 的服务器获取它需要的端口并开始服务。我发现结束此命令的唯一方法是执行 ctrl-z 然后关闭 %1 但是一旦我启动它,它第一次占用的资源将被阻止再次使用。我知道解决这个问题的唯一方法是重新启动效率不高的整个服务器。
如何正确停止脚本以便重新启动它?
当我需要暂时结束 Zope 服务器以做某事时,我一直遇到这个问题。如果我运行脚本
./bin/zopectrl fg 或 ./bin/isntance fg
它启动 zope 的服务器获取它需要的端口并开始服务。我发现结束此命令的唯一方法是执行 ctrl-z 然后关闭 %1 但是一旦我启动它,它第一次占用的资源将被阻止再次使用。我知道解决这个问题的唯一方法是重新启动效率不高的整个服务器。
如何正确停止脚本以便重新启动它?
我有一些虚拟主机重定向到 Zope 服务器进程:
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/%{HTTP_HOST}:80/theroot/VirtualHostRoot/$1 [L,P]
当然,如果 Zope 进程没有运行,重定向就会失败。这可能发生在实例重启期间(例如更新),或者对于不应一直运行的开发/测试实例。在这种情况下,我想有一个友好的消息。
因此,为了错误处理的唯一目的,我定义了一个 DocumentRoot:
DocumentRoot /var/zope-instances/my-instance/htdocs
ErrorDocument 500 /error-500.html
ErrorDocument 503 /error-500.html
不幸的是,它不起作用;在 Zope 关闭时尝试访问页面时,Apache 告诉我:
由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。
此外,在尝试使用 ErrorDocument 处理请求时遇到了 503 Service Temporarily Unavailable 错误。
错误文档是世界可读的;目录是世界可执行的。
我该怎么做才能让错误页面运行?由于 mod_rewrite,有什么特别需要考虑的吗?