vagrantでweb開発をするのに必要なtips
vagrantでweb開発する際のハマりどころがいくつかあります。
まず、vagrantでは/vagrantが共有フォルダの役割を果たして便利なわけですが。
そこに/var/www/htmlのシンボリックリンクをはると、mac側でプログラムを変更しながら、linuxサーバー上での挙動を色々と見れます。
macのお気に入りのエディタで、プログラムを編集して、それをlinuxサーバー上で動かし、随時変更していけるわけです。
sudo rm -rf /var/www/html sudo ln -fs /vagrant /var/www/html
でOKです。
これで/vagrant内のファイルを192.168.33.10というIPアドレスを使ってアクセスできます。
でめでたく、webサイトのテストができるようになるんですが、一つ問題点があります。
例えば、index.htmlを編集後、ブラウザをリロードしても全く反映されません。
これがわからなくてしばらくハマったのですが、これはvagrantの共有フォルダ/vagrantが外部ハードディスクのような扱いで、httpdがこのフォルダ内の更新を検知できないためです。ブラウザのキャッシュの問題ではないということです。懸命にブラウザのキャッシュを消して見たり、デベロッパーツールからdisable cacheをやったり、command+Rで更新しても、更新ボタンを長押しして「キャッシュのハード読み込みとキャッシュの消去」をしても意味がありません。サーバー側の問題なので。
httpd.confにキャッシュしない設定を追記する。(要再起動)
<Directory /var/www/html > EnableMMAP Off EnableSendfile Off </Directory>
として、systemctl restart httpd
とすることで問題が解決できました。
よかったよかった。