uiuifree.com

- サイト制作のノウハウと最適化を目指して-

2020.3.17mac環境でhostsを設定、反映されない時はキャッシュをリセット

mac環境でhostsを設定、反映されない時はキャッシュをリセット

hostsファイルを書き換えるとDNS設定前のWEBサイトの動作確認などができます。
最近でも一般公開前のサーバーやリプレース作業の時の確認などで実務でもよく使いました。

前提

hostsファイルとは

DNSより先に参照されるIPアドレスとドメインの一覧、拡張子がない普通のテキストファイル
設定することによりドメインにアクセスした時のIPアドレスを一時的に変更することができます。

記事作成のための環境構成

  • macOS Catalina

※Catalina以外のバージョンでも基本は同じ

hostsを設定

macのhostsの編集にはターミナルを使います。
初めて使う方は苦手意識を持つことも多いかもしれませんが、エンジニアとしてやっていく上で必須スキルです。慣れましょう。

ターミナルの立ち上げは
アプリケーションユーティリティターミナルにあります。

mac ターミナル

ターミナルを開いたら次のコマンドを入力します。

sudo vim /private/etc/hosts
コマンド 捕捉
sudo 管理者権限で実行
vim テキストエディタでvim開く
/private/etc/hosts ファイル名

管理者権限で実行するためパスワード入力を求められます。

sudo パスワード

以下の設定が出てきたら、iを押し入力モードでアクセスします。

sudo パスワード

ファイル末尾に設定したいIP アドレスとホスト名を入力します。

127.0.0.1 test.com
hosts

入力が終わったらescキーを押し、その後に:wqと入力すれば設定が保存されます。

vimコマンド 概要
esc 入力モードから抜ける
:wq 上書き保存
:w 保存
:q エディタから抜ける

これでtest.comにアクセスしようとしたらローカルに接続されるようになりました。

DNSキャッシュをリセット

DNS設定はブラウザ等でアクセスしたあとに変更してもキャッシュが残っており、設定した直後にアクセスしても設定前のサーバーにアクセスすることが多いです。 そのためhostsを設定したら必ずDNSキャッシュをリセットしましょう。

OS X Yosemite v10.10.4

sudo killall -HUP mDNSResponder

OS X Yosemite v10.10 〜 v10.10.3

sudo discoveryutil mdnsflushcache

OS X Mavericks、Mountain Lion、Lion

sudo killall -HUP mDNSResponder

Mac OS X 10.6

sudo dscacheutil -flushcache

PROFILE

このサイトを運営してるuiuifreeです。
渋谷のベンチャー企業で2年ほど新規事業を担当した後にフリーランスエンジニアにキャリア転換。
求人サイトの開発が多くエンジニア/飲食店/看護師/保育士などの分野でサイトを運営しています。

アウトプット中の技術

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)