作为WordPress站长,我们有时候会遇到这样的情况,即我们已经在WordPress网站服务器做了一些样式、JS或者页面其他内容的更改,但发现在本地刷新页面后并不生效。很多时候我们可以通过强制刷新页面解决这个问题,但有时候又不凑效。在遇到这种情况下,你可能需要清除本地的DNS缓存。
在本文,我们将会详细解说如何清除/刷新DNS缓存这个实用的小技巧,希望对你有帮助!
什么是DNS
DNS代表域名服务器。 当网站或Web应用程序托管在服务器上时,无论是基于Linux还是基于Windows,都会为其分配一个特定的十进制分隔数字系列,这在技术上称为IP地址。 DNS就像这些数字的英文翻译。
将网站地址输入网络浏览器时,它会查找其DNS,该DNS将分配给域名注册商网站上的域。 然后将其转换为分配的IP地址,并且将返回网站的请求发送到与该DNS相对应的服务器,从而进行IP地址。
说明DNS如何工作的原因是为了让您更容易理解DNS缓存的工作原理。
为了缩短响应时间,Web浏览器会存储您已访问过的网站的DNS地址。此过程称为DNS缓存。
因此,如果网站所有者已将网站迁移到新DNS(和IP地址)的其他服务器,则由于本地计算机缓存了老的服务器的DNS,您可能仍会看到旧服务器上的网站。要从新服务器获取网站最新内容,您需要清除你本地电脑的DNS缓存。有时缓存存储时间较长,在清除缓存之前,您将无法看到新的网站内容。
DNS这东西(后端进程)对于日常的我们是完全无法感知的,除非您发现网站上的更改未能够正常显示。因此,如果您已将网站迁移到新服务器,并在网站上进行了一些更改,但无法在本地电脑上看到这些更改,则需要采取的首要诊断步骤之一是刷新DNS。您可以使用flush命令在浏览器级别以及操作系统级别执行此操作。我们将在以下部分中更详细地解释该过程。
通过Web浏览器强制刷新页面内容
在刷新DNS之前,您可以尝试强制刷新要访问的网页。 这将清除网页缓存,帮助浏览器查找网页的更新文件。
- Windows操作系统:Internet Explorer,Microsoft Edge,Mozilla Firefox或Google Chrome,使用组合键“Ctrl + F5”。
- Apple/MAC计算机:Mozilla Firefox或Google Chrome,使用组合键“CMD + SHIFT + R”。如果您使用Apple Safari,则使用组合键“SHIFT + Reload”。
您还可以尝试使用隐身模式(Chrome)或隐私窗口(Firefox)访问该页面。
完成页面内容强制刷新后,我们再来执行DNS缓存清除工作。清除缓存的过程取决于您的操作服务器和浏览器,具体操作教程如下方:
清除操作系统上的缓存
#1.清除Windows操作系统上的缓存
- 进入命令提示符模式:
- 使用键盘组合键Windows+R
- 弹窗Run窗口
- 在输入框中键入CMD
- Enter键确定将打开命令提示符窗口
- 输入 ipconfig/flushdns 并按Enter键,如下所示
- 窗户提示DNS Flush的成功信息
#2.清除MAC操作系统(iOS)上的缓存
- 点击MAC机器的顶部导航栏中Go(前往)下的Utilities(实用工具)
- 打开Terminal/终端(相当于WIndows OS的命令提示符)
- 执行以下命令以清除计算机上的DNS缓存
sudo killall -HUP mDNSResponder && echo macOS DNS Cache Resetsudo killall -HUP mDNSResponder && echo macOS DNS Cache Reset
sudo killall -HUP mDNSResponder && echo macOS DNS Cache Reset
- 以上命令可能因操作系统版本而异,如下所示:
1#Mac OS Sierra, Mac OS X El Capitan, Mac OS X Mavericks, Mac OS X Mountain Lion, Mac OS X Lion操作系统使用以下命令sudo killall -HUP mDNSResponder2#Mac OS X Yosemite操作系统使用以下命令sudo discoveryutil udnsflushcaches3#Mac OS X Snow Leopard操作系统使用以下命令sudo dscacheutil -flushcache4#Mac OS X Leopard and below操作系统使用以下命令sudo lookupd -flushcache1#Mac OS Sierra, Mac OS X El Capitan, Mac OS X Mavericks, Mac OS X Mountain Lion, Mac OS X Lion操作系统使用以下命令
sudo killall -HUP mDNSResponder
2#Mac OS X Yosemite操作系统使用以下命令
sudo discoveryutil udnsflushcaches
3#Mac OS X Snow Leopard操作系统使用以下命令
sudo dscacheutil -flushcache
4#Mac OS X Leopard and below操作系统使用以下命令
sudo lookupd -flushcache1#Mac OS Sierra, Mac OS X El Capitan, Mac OS X Mavericks, Mac OS X Mountain Lion, Mac OS X Lion操作系统使用以下命令 sudo killall -HUP mDNSResponder 2#Mac OS X Yosemite操作系统使用以下命令 sudo discoveryutil udnsflushcaches 3#Mac OS X Snow Leopard操作系统使用以下命令 sudo dscacheutil -flushcache 4#Mac OS X Leopard and below操作系统使用以下命令 sudo lookupd -flushcache
#3.清除Linux OS上缓存
在Ubuntu Linux和Linux Mint上:
- 使用键盘组合键Ctrl+Alt+T打开终端
- 启动终端后,输入以下命令代码
sudo /etc/init.d/networking restartsudo /etc/init.d/networking restart
sudo /etc/init.d/networking restart
- 它可能会要求输入管理员密码
- 一旦成功,它将显示如下确认消息:
[ ok ] Restarting networking (via systemctl): networking.service[ ok ] Restarting networking (via systemctl): networking.service
[ ok ] Restarting networking (via systemctl): networking.service
- 如果DNS Flush不成功,请按照以下步骤操作
- 在终端输入以下命令
sudo apt install nscdsudo apt install nscd
sudo apt install nscd
- 完成上述命令后,重复步骤1到4
在CentOS上:
- 使用键盘组合键Ctrl+Alt+T打开终端
- 输入以下命令:
nscd -i hostsnscd -i hosts
nscd -i hosts
- 要重新启动DNS服务,请输入以下命令
service nscd restartservice nscd restart
service nscd restart
清除浏览器上的DNS缓存
#1.清除Chrome中的DNS缓存
- 打开Google Chrome浏览器
- 在地址栏中输入以下地址:chrome://net-internals/#dns
- 它将显示以下选项:
- 单击“Clear host cache” 按钮
#2.清除Firefox中的DNS缓存
- 转到History(历史记录),然后单击Clear History(清除历史记录)选项
- 如果需要,选择Cache/缓存(以及其他相关选项),然后单击Clear Now(立即清除)按钮。
#3.清除Safari中的DNS缓存
- 转到Preferences(首选项)下的Advanced Settings(高级设置)选项
- 选择“‘Show Develop menu in menu bar’/在菜单栏中显示开发菜单”的选项
- 它将在浏览器菜单选项中显示Develop(开发)菜单
- 在“开发”下,找到“Empty Caches(清空缓存)”选项
- 这将清除DNS缓存
- 或者,如果要完全清除缓存,可以直接单击Safari浏览器的“历史记录”菜单选项下的“清除历史记录”
#4.清除Internet Explorer中的DNS缓存
- 单击右上角的图标(…),然后单击“Setting(设置)”
- 单击清除浏览数据下的“选择要清除的内容”选项
- 从菜单中选择“缓存的数据和文件”选项。
小结
根据您使用的操作系统和浏览器,如果遇到任何问题,可以采用上述方法之一。 要刷新你的网站获得最新的数据,大体上我们也可以做的工作包括:
- 尝试强制刷新网页(Ctrl + F5)
- 使用浏览器设置中的“清除浏览数据”选项(如上述步骤中所述)
- 刷新操作系统的DNS(使用上面提到的命令提示符)
- 重新启动路由以重置您的Internet连接
一般情况下,上述步骤能够解决大部分人遇到的页面最新内容不刷新的问题。 如果您在按照上述步骤操作后仍然无法解决,我们建议您与网站服务器提供商技术联系获得支持。