为Ubuntu存储的DNS缓存在哪里?

时间:2011-12-22 16:09:15

标签: php linux ubuntu curl libcurl

在哪里可以找到Ubuntu文件系统上的实际DNS缓存存储?

我有一个PHP脚本,它使用libcurl在同一个域上抓取几百个页面,我将它设置为使用全局DNS缓存,并将DNS缓存超时设置为5分钟(300秒),这肯定会加速事情发生了,因为一些电话由于名称解析问题而挂起(对同一个域名称解析请求太多,服务器必须拒绝/挂起一些)。

我遇到的另一个问题是,是否可以为域到IP地址映射建立永久存储位置,这样您甚至不必在libcurl中使用DNS缓存?我可以使用/etc/resolv.conf来存储外部域名并将其映射到它的IP地址,这会有用吗?

我已经进入网络开发一段时间了,所以我对linux命令行非常熟悉并且搞乱了配置/设置但是我找不到这个问题的答案

我想我可以让实际的libcurl请求使用我所提取的网站的IP地址,但我宁愿让它使用域名进行日志记录,以便我可以监控请求的任何问题挂

2 个答案:

答案 0 :(得分:2)

首先,您正在寻找由curl维护的DNS缓存(而不是系统范围的全局缓存),因为除非您正在运行缓存解析程序(LDNS服务器),否则缓存DNS记录的责任落在应用程序上。

其次,您可以使用/etc/hosts来存储映射。如果您的解析程序库不喜欢/ etc / hosts而不是DNS查找,则需要更改/etc/host.conf中的查找顺序。您应该看到如下行:

order hosts,bind

hosts此处告诉gethostbyname等解析程序库实用程序首先查看/etc/hosts文件。

答案 1 :(得分:0)

您应该使用/etc/hosts来存储IP和主机