配置:php
一、下載vagranthtml
連接地址:https://releases.hashicorp.com/vagrant/1.8.6/nginx
windows下載 vagrant_1.8.6.msi版本;centos下載 vagrant_1.8.6_x86_64.rpmshell
二、下載vm virtualbox: https://www.virtualbox.org/wiki/Download_Old_Builds_5_1apache
三、下載vagrant boxwindows
https://app.vagrantup.com/boxes/searchcentos
Vagrant-CentOS-7.box 瀏覽器
官網下載很慢,百度網盤地址:https://pan.baidu.com/s/1hsMXezq網絡
四、添加box並初始化app
mkdir vagrant_test
cd vagrant_test
vagrant box add centos7 ./Vagrant-CentOS-7.box
vagrant init centos7 //win10在c盤,可能無寫入權限,須要手動分配寫入權限給文件
五、開啓vagrant
vagrant up
若出現 「rsync" could not be found on your PATH. Make sure that rsync」的錯誤,致使不成功,只需在 C:\Users\Administrator\.vagrant.d\boxes\centos7\0\virtualbox\Vagrantfile 文件裏的
type: "rsync" 改成 type: "virtualbox"
若出現 「The error output from the command was:mount: unknown filesystem type 'vboxsf'」 錯誤。
須要輸入命令 vagrant plugin install vagrant-vbguest
再輸入 vagrant reload --provision
通常默認ssh地址: 127.0.0.1 ;默認端口:2222; 默認用戶名:vagrant;密碼:vagrant
超級用戶:root; 密碼:vagrant
5.1 用xshell鏈接虛擬機
先在vagrant_test目錄執行 vagrant ssh 獲得Private key的路徑,ssh登錄時用戶名得選vagrant
在建立連接,密碼輸入時選擇瀏覽文件,即上一步獲得的Private key
六、配置瀏覽器訪問虛擬機:臨時端口轉發
先暫停虛擬機 vagrant suspend
配置虛擬機端口轉發: 設置->網絡->高級->端口轉發 添加以下一行數據
名稱 協議 主機ip 主機端口 子系統ip 子系統端口
ssh TCP 127.0.0.1 8888 80
啓動虛擬機 vagrant resume
這時, 在瀏覽器輸入127.0.0.1:8888 便可訪問虛擬機80端口
八、Vagrantfile配置
(1)永久端口轉發:https://www.vagrantup.com/docs/networking/forwarded_ports.html
在根目錄Vagrantfile 裏面添加以下代碼,便可實現瀏覽器訪問 127.0.0.1:8080,便可挑戰至虛擬機80端口(虛擬機須要開啓nginx或apache,並重啓vagrant reload)。
config.vm.network "forwarded_port", guest: 80, host: 8080
(2) 共享目錄:https://www.vagrantup.com/docs/synced-folders/basic_usage.html
在根目錄Vagrantfile 裏面添加以下代碼,再重啓vagrant reload 便可實現目錄共享:
config.vm.synced_folder "C:/phpStudy/WWW/test", "/usr/local/nginx/html"
(3) 虛擬機私有ip配置(實現瀏覽器ip訪問虛擬機) https://www.vagrantup.com/docs/networking/private_network.html
添加以下代碼,接口實現瀏覽器輸入ip,訪問虛擬機。注意,出來vagrant reload後,還得重啓nginx
config.vm.network "private_network", ip: "192.168.50.4"
(4)修改虛擬機名稱,即vagrant box 左側列表中的名稱;
添加以下代碼。
config.vm.provider "virtualbox" do |vb| vb.name = "vagrant_test" end
(5) 修改虛擬機主機名:即虛擬機命令行用戶名後面的字段;
config.vm.hostname = "vagrant"
(6) nignx相關優化;主要是爲了文件快速同步虛擬機
須要修改nginx.conf裏面的 sendfile on 改成 sendfile off
vagrant 打包與分發
vagrant halt 先關閉虛擬機
vagrant package --output xxx.box
打包時,須要注意將原vagrant的配置文件 config.vm.network "private_network", ip: "192.168.50.4" 註釋掉;
經常使用命令:
vagarnt -v ;版本號
vagrant box list;查看目前已有的box
vagrant box add ; 新增長一個box
vagrant box remove;刪除指定的box
vagrant init; 初始化配置vagrantfile
vagrant up; 啓動虛擬機
vagrant ssh; ssh登錄虛擬機
vagrant suspend;暫停虛擬機
vagrant resume:從新恢復啓動
vagrant reload ; 重啓虛擬機
vagrant halt; 關閉虛擬機
vagrant status ; 查看虛擬機狀態
vagrant destroy; 刪除虛擬機