如何清除自己服务器上的所有OSM瓦片缓存

8
我目前正在开发一个地图项目,基于OpenStreetMap,使用Mapnik、renderd和mod_tile(就像osm在他们的网站上所做的那样)。 我已经在我的个人电脑(Ubuntu 12.04)上按照一些教程构建了一个osm瓦片服务器。 它运行良好,我已经加载了一个国家的许多区域(不是整个星球,只是一部分)。
我意识到mod_tile为每个渲染的瓦片使用缓存,所以我决定调查如何清除它。 目前我找到的唯一解决方案是使用render_expired二进制文件,但我不知道如何通过这种方式将所有瓦片设置为过期状态(而且没有差异文件)... 我试图找出这些图像的位置,但我找不到它们。
我需要一些帮助,如果有人有想法...

1
经过数小时的调查,我终于在这里找到了这些图片:/var/lib/mod_tile/default - GeoffreyB
3个回答

15

只需删除提到的 /var/lib/mod_tile/default 目录(如果您敢于使用 rm -rf 命令),然后重新启动 renderd 守护进程。


如何在不使用“killall renderd”的情况下正确重新启动renderd守护程序?现在我得到的是404而不是新渲染的png图像。 - Karussell

4

运行以下命令:

sudo rm -rf /var/lib/mod_tile/ajt
sudo service renderd restart

ajt 是您的瓷砖文件夹,可能与其他文件夹不同,并且可能有多个。

如果您意外删除了 ajt(或任何其他)文件夹本身:

sudo mkdir /var/lib/mod_tile/ajt
sudo chown renderaccount /var/lib/mod_tile/ajt

2

这条命令帮助我避免了重启 find /var/cache/renderd/tiles/ -type f -delete


这是2023年对我有效的方法。 - I wrestled a bear once.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接