vagrant 本地開發環境的一些坑

vagrant對於本地開發來講真的是很是的棒,通常公司的開發人員都不止一我的,因此要每一個開發人員都本身去搭建本地環境,會耗費很是多的時間,甚至還有可能會搭不起來的,就算搭起來了也不夠統一,不可以和線上的保持一致。php

vagrant 是什麼呢?

它是基於Virtual box(後面簡稱VBox了)而運行的,其實它就是在使用命令來控制Vbox,它可讓你很是方便的去配置虛擬機,由於全部的配置都是在配置文件裏面。html

各類坑

爲何會出現這麼多坑,還不是秉着一顆做死的心,非要弄 vagrant,並且還想把它大規模地在公司應用起來,就出現瞭如下的各類坑,要是你們還有被別的方式坑的,能夠在回覆裏面寫上噢。segmentfault

1、靜態文件

安裝好Apache和Nginx首先來測試靜態文件(我使用的是.html結尾的),這些文件是從主機共享,而後虛擬機裏面掛載的,使用的是Vagrant的:config.vm.synced_folder "/Users/bob/Documents/code/", "/var/www/",而後我在本地修改這些文件,發如今瀏覽器上刷新都不變,老是不相信瀏覽器,因而用命令行的curl 去測試,結果仍是同樣的,後來終於在網上搜到了帖子:《使用 Vagrant 打造跨平臺開發環境》,它這裏說到了, 否則的話它就不變。windows

\# Apache 配置添加: EnableSendfile off
\# Nginx 配置添加:sendfile off;

2、磁盤滿了

這個其實不能算Vagrant的坑,而是本身不細心,可是放到這也是在提醒本身和讀者不要忘記這件事。
瀏覽器

3、文件權限

在windows上的時候進入虛擬機後發現,共享的文件所有都是777的權限,並且還改不過來,這是怎麼回事呢。這是phpmyadmin報出的錯誤:curl

Wrong permissions on configuration file, should not be world writable!
( ! ) Notice: Array to string conversion in
/var/www/phpmyadmin/libraries/Error.class.php

經過一番Google以後終於找到了問題的解決:http://serverfault.com/questions/398414/vagrant-set-default-share-permissions, 能夠在配置文件裏面填寫:ide

config.vm.synced_folder "/Users/bob/Documents/code/", "/var/www/", :mount_options => ["dmode=755","fmode=644"]

4、運行vagrant up以後機器起不來

這個問題比較有意思,在咱們運行vagrant up這個命令的時候它會讓Vbox去啓動這個虛擬機,而後等虛擬機啓動完成以後就修改相應的配置,可是卻遇到了一個問題,Vbox撒嬌了——就不起來,因而只能打開Vbox手動去點啓動,發現也啓不來,卻獲得了一個報錯:Error VT-x,最終解決也是在stackoverflow裏面找到的,默承認能cpus等於的是2,可是咱們有的機器配置偏低就起不來了,因此把它改爲1以後再啓動就行了。測試

config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--cpus", "1"]
end
相關文章
相關標籤/搜索