看起来我们不得不在这里开始对我们的网络服务器进行负载均衡。
我们有一个动态编辑robots.txt的功能请求,这对于一个主机来说不是问题 - 但是一旦我们启动了负载均衡器 - 听起来我必须将文件scp到另一个(多个)主机。
这听起来非常糟糕。你会如何处理这种情况?
我已经让客户编辑了meta标签'robots',其中(imo)应该从robots.txt编辑中有效地做同样的事情,但我真的不太了解SEO。
也许有一种完全不同的处理方式?
更新
看起来我们现在将它存储在s3中,并将它存储在前端...
我们现在如何做
所以我们正在使用merb ..我将路径映射到我们的robots.txt,如下所示:
match('/robots.txt').to(:controller => 'welcome', :action => 'robots')
然后相关代码如下所示:
def robots
@cache = MMCACHE.clone
begin
robot = @cache.get("/robots/robots.txt")
rescue
robot = S3.get('robots', "robots.txt")
@cache.set("/robots/robots.txt", robot, 0)
end
@cache.quit
return robot
end
答案 0 :(得分:0)
我可能让应用编辑robots.txt的内容并将用户输入保存到数据库中。然后在一定的时间间隔内,让后台进程从数据库中提取最新信息并推送到您的服务器。
答案 1 :(得分:0)
另一种方法是让负载均衡的反向代理以不同方式处理robots.txt。您可以直接从反向代理服务它,或者将该文件的所有请求都发送到单个服务器。它很有意义,因为robots.txt的需求相对较少。
答案 2 :(得分:0)
我不确定你是否回家了。如果这样忽略。 (更新:我看到你原来帖子的注释,但这可能是有用的。)
如果将呼叫映射到robots.txt到 http-handler或类似,您可以生成响应,例如dB。
答案 3 :(得分:0)
通过您正在使用的任何动态内容生成来提供服务。它只是一个文件。没什么特别的。