vagrant使用小結php
最近公司用了vagrant的虛擬鏡像服務,感受挺不錯的.在此僅記錄使用方法.css
優勢:咱們能夠經過 Vagrant 封裝一個 Linux 的開發環境,分發給團隊成員。成員能夠在本身喜歡的桌面系統(Mac/Windows/Linux)上開發程序,代碼卻能統一在封裝好的環境裏運行,很是霸氣.html
主要是看重它可讓開發人員在一樣開發環境下開發,這樣避免每一個開發人員由於開發環境不同致使最後代碼上線的一些問題.node
缺點:須要提早配置好一個知足開發條件的一些環境.(這個過程其實玩liunx的人,都會,對於不會的人來講,這就是缺點咯.)nginx
本文後面提到的centos-6.5-x86_64-base.box,是centos-6.5的系統,在裏面我已經預裝了php apache nginx nodejs等等知足程序運行的環境。apache
下面使用步驟:vim
一、下載vagrant和VirtualBoxcentos
vagrant 下載地址: http://www.vagrantup.com/downloads.html 瀏覽器
VirtualBox下載地址: https://www.virtualbox.org/wiki/Downloads緩存
box鏡像文件,本文舉例子的box文件(centos-6.5-x86_64-base.box,由於源文件太大,就不傳了)
二、安裝Vagrant 和 VirtualBox
三、在你本地的硬盤上建立一個用來存儲Vagrant配置文件的目錄,將 1 中下載的 centos-6.5-x86_64-base.box 鏡像也放到這個目錄裏。
好比你建立的目錄地址爲: E:\testvbox ,那麼就將centos-6.5-x86_64-base.box 放到此目錄下.
四、運行cmd命令,到命令行下,而且切換到 3 中建立的目錄(testvbox)中。
命令:
cd E:/testvbox
五、在此目錄(testvbox)中,依次執行下面的命令:
1).
vagrant box add dev centos-6.5-x86_64-base.box
PS: 上面的命令含義爲:vagrant 是vagrant的命令,box爲參數,add爲添加一個box環境,dev爲你要建立的box環境名稱,centos-6.5-x86_64-base.box 爲你下載的box環境鏡像。
2).
vagrant init dev
PS: 上面的命令含義爲:vagrant 是vagrant的命令,init爲參數,初始化一個box環境,dev爲你要初始化的box環境名稱。
六、 這時,你會在當前目錄下看到一個Vagrantfile文件,這個文件就是vagrant box環境的配置文件。編輯這個文件,你能夠用記事本打開這個文件,修改以下幾處:
1) . 第22行,去掉前面的#
# config.vm.network :forwarded_port, guest: 80, host: 8080
變爲
config.vm.network :forwarded_port, guest: 80, host: 8080
2) . 第26行,去掉前面的#
# config.vm.network :private_network, ip: 「192.168.33.10」
變爲
config.vm.network :private_network, ip: 「192.168.33.10」
PS: 這裏是私有ip,只有你本身能夠訪問虛擬機,若是你想要配置局域網裏面能夠訪問,那就不須要修改26行,保持原樣,此時須要修改的是第31行
# config.vm.network :public_network
變爲
config.vm.network :public_network, ip: 「192.168.8.88」
PS: ip能夠配置也能夠不用配置,虛擬機能夠自動DHCP。我這裏是本身配置了的,由於每次自動配置ip地址變來變去不方便.
3) . 第41行
# config.vm.synced_folder 「../data」, 「/vagrant_data」
改成
config.vm.synced_folder 「E:/www」, 「/var/www/html」
PS:
1). E:/www 這個爲你本地的項目目錄,這個目錄會自動掛在到box環境中去
2). /var/www/html爲虛擬開發環境中的掛載點。
七、最後,修改本地hosts文件,將第6步中第「2)」中的ip地址映射到相應的域名下,將以下添加到你本地的hosts中:
192.168.33.10 www.testvbox.com
PS: 想映射就映射不想映射就IP地址訪問好了.
八、最後, 在你的box環境的配置目錄(testvbox)下的cmd中運行,以下命令,就能夠開啓你的虛擬化環境了
vagrant up
至此,啓動完成以後,vagrant的虛擬化開發環境就配置完成了.那麼此時在瀏覽器裏面就能夠訪問了.。
PS: 額外奉送:
# vagrant halt 關閉虛擬化開發環境
# vagrant reload 修改配置文件後,重啓虛擬化開發環境
# vagrant box list 查看當前可用的虛擬化開發環境
# vagrant box remove boxname 刪除指定的box環境
# vagrant package 當前正在運行的VirtualBox虛擬環境打包成一個可重複使用的box
# vagrant up 啓動虛擬機
# vagrant destroy 銷燬虛擬機
PS: 若是發現圖片和JS,css文件改過以後沒有任何反映,那就是這些被緩存了,
這個時候重啓虛擬服務都是沒有用的.應作以下修改:
若是是nginx環境 ,那麼就找到 nginx.conf ,把裏面的 「sendfile on」 修改成 「sendfile off」.
固然,若是你使用Apache也可能遇到相似的問題,那麼一樣也有相似的配置須要修改成:
EnableSendfile off
PS:
由於liunx不是太熟悉,僅記錄我的常使用的一些命令.
apache目錄 配置文件
vim /etc/httpd/conf.d/vhost.conf
/etc/init.d/httpd restart
nginx目錄 配置文件
vim /etc/nginx/conf.d/virtual.conf
/etc/init.d/nginx restart
配置網卡 vim /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/init.d/network restart