Vagrant 指令
- vagrant up >開機
- vagrant up --provision >homestead.yaml有更改時,就要用這個指令重讀。
- vagrant provision && vagrant reload
- vagrant provision >重新啟動
- vagrant halt >關機
- vagrant suspend >暫停
- vagrant box list >看本機有多少個image
- vagrant ssh >用ssh到主機
- vagrant box remove laravel/homestead >移除homestead
- vagrant box add laravel/homestead >加入homestead
https://vagrantpi.github.io/2018/02/11/vagrant/
下載Homestead設定檔案
下載Homestead設定檔案
- git clone https://github.com/laravel/homestead.git ~/Homestead
- sh init.sh >會看到Homestead.yaml新增了
- mkdir ~/code >因應folder的map: 要創造code 的資料夾。
Homestead.yaml設定laravel開發環境
前面都很簡單,但是光這邊我搞了大概三個小時。這裡是巨坑,會有很多的錯誤。一條一條講解。
重點
11 folders:
12 - map: ~/Code
13 to: /home/vagrant/Code/
14
15
16 sites:
17 - map: homestead.test >>這邊要去vim /etc/hosts設定 127.0.0.1
18 to: /home/vagrant/Code/Hello/public >>後面一定要有public。
Homestead.yaml解釋
這邊有兩個重點folders跟sites。
folders負責同步資料夾,讓主機可以看到虛擬機內的資料,一邊也像是docker的volume負責資料持久化的功能。
sites負責開放資料夾可供外部取用。
folder跟sites也會被myphpadmin參考使用到。要特別小心。myphpadmin用下載的就可以了,不要想說自己多厲害都要用cmd來做...很痛苦的。
11 folders:
11-13是要設定同步的folder。
16-18是要設定虛擬機app內public的folder要對應到的url。
我們的laravel app最後會有一個public網址,提供給外部的人取用,只有這邊設定了,外面的人才可以取用。跟dns設定有點象。只不過這邊設定的是public folder。
11-13是要設定同步的folder。
- map是指定在本機同步的資料夾。要用本機的角度來看
- to 是要在vagrant的虛擬機上的同步資料夾。要用虛擬機的角度來看,
16-18是要設定虛擬機app內public的folder要對應到的url。
我們的laravel app最後會有一個public網址,提供給外部的人取用,只有這邊設定了,外面的人才可以取用。跟dns設定有點象。只不過這邊設定的是public folder。
- map: 這邊是要設定url>後續要去本機的vim /etc/hosts設定
- to: 後面要有/home/vagrant/[同步資料夾名]/[app_name]/public
提示重點,名字很重要。
18行若是沒有加[appname]/public 的public就會出現403 Forbidden的問題。因為沒有指定目錄給nginx讀取。
我們的Hello是
我們要新創laravel app的時候,要選擇在Code資料夾下面,輸入創建app指令laravel new [appname]
然後
我們的Hello是
我們要新創laravel app的時候,要選擇在Code資料夾下面,輸入創建app指令laravel new [appname]
然後
- cd ~/Code/[app_name]
- php artisan serve > 就可以看到laravel的歡迎畫面了
- localhost:8000
設定Homestead.yaml觀念思路流程
- 設定要同步的folder
錯誤
A VirtualBox machine with the name 'homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.
- 設定要開放的site 的public folder
設定~/etc/hosts的dns檔案
$ vim ~/etc/hosts
192.168.10.10 blog.test
或是
127.0.0.1 localhost
沒有留言:
張貼留言