簡(jiǎn)介
Vagrant 提供了一種簡(jiǎn)單渺贤、優(yōu)雅的方式來(lái)管理和配置虛擬機(jī)奸柬。
Laravel Homestead 是一個(gè)官方預(yù)封裝的 Vagrant Box耳鸯,它為你提供了一個(gè)完美的開(kāi)發(fā)環(huán)境,你無(wú)需在本地安裝 PHP 负饲、web 服務(wù)器或任何服務(wù)軟件瘫筐。 Vagrant Box 是完全一次性的蜜暑,不用擔(dān)心會(huì)搞亂你的操作系統(tǒng)!如果有什么地方出錯(cuò)了策肝,你可以在幾分鐘內(nèi)銷(xiāo)毀并重建該 Box 肛捍!
Homestead 可以在任何 Windows隐绵、Mac 或 Linux 系統(tǒng)上運(yùn)行,它包括了 Nginx Web 服務(wù)器拙毫、PHP依许、MySQL、PostgresSQL缀蹄、Redis峭跳、Memcached、Node
內(nèi)置軟件
Ubuntu 16.04
Git
PHP
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (帶有 Yarn缺前、Bower蛀醉、Grunt 和 Gulp)
Redis
Memcached
Beanstalkd
Mailhog
ngrok
安裝與設(shè)置
-
需要預(yù)安裝什么東西呢
-
-
Fh4b9eCWhQSPfBwWFILw5FVCndvilWVjaZTRMLzr.png
git bash
-
將homestead box添加到 vagrant 中
vagrant box add laravel/homestead
因?yàn)橄螺d速度的問(wèn)題,推薦先將homestead box下載下來(lái)衅码,然后vagrant box add laravel/homestead *your-box-address下載地址
vagrant box add laravel/homestead /f/vagrantboxs/homesteadv520.box
獲取下載地址:vagrant box add laravel/homestead 命令會(huì)出現(xiàn)官方下載地址
完成后拯刁,你會(huì)發(fā)現(xiàn)自己的用戶(hù)文件夾里多出了一個(gè)名為.vagrant.d的文件夾,
C:\Users\MyUserName\vagrant.d 我們打開(kāi)這個(gè)文件夾,找到以下路徑(請(qǐng)將MyUserName替換成你的系統(tǒng)用戶(hù)名),將文件夾中名為0的文件夾改名為我們下載的Homestead的版本號(hào)肆良,即5.2.0,然后在該文件夾下新建一個(gè)叫metadata_url的空白文件 (注意不要有任何文件名后綴筛璧,如果你的系統(tǒng)設(shè)置了自動(dòng)隱藏后綴名,請(qǐng)將隱藏去掉惹恃,確認(rèn)文件無(wú)任何后綴):文件的內(nèi)容里夭谤,添加以下鏈接:https://app.vagrantup.com/laravel/boxes/homestead
3.安裝homestead
cd ~/vagrant_repo/
git clone https://github.com/laravel/homestead.git homestead
cd homestead
初始化
// Mac / Linux...
bash init.sh
// Windows...
init.bat
啟動(dòng)
vagrant up
連接ssh
vagrant ssh
新建new homestead
// new folder :vagrant init laravel/homestead
git clone https://github.com/laravel/homestead.git homestead
cd homestead
vagrant init laravel/homestead
vagrant box list 如果有多個(gè)名稱(chēng)一樣(laravel/homestead)版本不一樣的box.可以指定version,在composer.json
中加入
"versions": {
"version": "6.1.0",
},
因?yàn)槟J(rèn)使用homestead-7的用戶(hù)名,會(huì)重復(fù)報(bào)錯(cuò)巫糙,修改方式:vim ./scripts/homestead.rb,修改所有homestead-7
眾所周知朗儒,vagrant添加box的時(shí)候要從外網(wǎng)下載,那速度参淹、醉锄、、(說(shuō)多了都是淚)浙值,所以只好用下載工具下載到本地之后再添加恳不。
一般處理方案
vagrant box add boxName ./downloadBoxName.box
boxName 添加之后的box 名稱(chēng)
./downloadBoxName.box 下載到本地的box
正常這樣基本上就可以將box添加上去了。不過(guò)开呐,這樣添加的box版本號(hào)是0烟勋,大部分場(chǎng)景版本號(hào)影響也不大。但我在使用Laravel Homestead的時(shí)候筐付,這邊會(huì)有版本等一些限制卵惦。所以,我們?nèi)绻芗由习姹咎?hào)是不是會(huì)更好一些呢瓦戚。
帶版本號(hào)的添加方案
metadata.json
{
"name": "laravel/homestead", # 添加后的box名稱(chēng)
"versions": [{
"version": "2.1.0", # 版本號(hào)
"providers": [{
"name": "virtualbox",
"url": "file://E:/xunlei/Laravel-Homestead.box" # 下載到本地的box
}]
}]
}
執(zhí)行以下命令
vagrant box add metadata.json
QAQ:
搬地方沮尿,windows,ipconfig:ip 為192.168.10.0,vagrant 重啟失敗~~
The specified host network collides with a non-hostonly network!
This will cause your specified IP to be inaccessible. Please change
the IP or name of your host only network so that it no longer matches that of
a bridged or non-hostonly network.
A:更改homestead.yaml 的ip:193.168.10.10
vagrant reload --provision出現(xiàn)異常:
Inserting generated public key within guest...
F:/ashesoft/vagrant/embedded/gems/2.1.1/gems/vagrant-2.1.1/plugins/communicators /ssh/communicator.rb:193:in `initialize': Permission denied @ rb_sysopen - F:/vi rtualmachine/homestead/.vagrant/machines/homestead-7/virtualbox/private_key (Err no::EACCES)
A: private_key private_key ;所以 修改當(dāng)前賬戶(hù)擁有所有權(quán)