Homestead 集成开发环境配置
來源:http://blog.csdn.net/markely/article/details/49585887
Laravel的目的就是讓開發者的開發體驗更愉快,開發過程更加簡單。在環境搭建上也是如此。?
Laravel homestead是一個官方發布的vagrant封裝包——一個虛擬機——提供完備的開發環境。在homestead配置完成后,不需要在本地環境中配置任何的開發工具,vagrant可以搞定一切。因為是虛擬機,不會對本地系統產生任何的破壞。同時如果出現故障,可以在幾分鐘內銷毀并重建虛擬機。?
homestead是跨平臺的,可以在windows,Linux,Mac上運行,其中集成了nginx,php5.6,MySQL,postgres,Redis,Memcached,HHVM等所有開發laravel所需的軟件。?
本文檔是針對windows環境下homestead的配置運行。
1. 本地環境設置
1.1 php
運行composer必須要有PHP,建議使用最新版本的發行版php,目前最新版本5.6.8。php windows版本分為32位和64位的,64位目前仍處于試驗階段,我們選擇穩定的32位版本。其中又分為thread safe和not thread safe版本,在web開發中我們選擇not thread safe版本,點擊這里下載。?
注意 php windows版本使用VC11編譯,系統需要有Visual C++ Redistributable for Visual Studio 2012 x86 or x64,如果系統沒有安裝這個包,請點擊這里下載安裝。?
(1) 下載壓縮包解壓到C盤根目錄?
(2) 配置環境變量,添加C:\php-5.6.8-nts-Win32-VC11-x86到PATH。?
(3) 修改php配置。拷貝php.ini-development 為php.ini。去extension=php_openssl.dll(composer需要)?extension=php_mbstring.dll(laravel需要)前的注釋。找到; extension_dir = "ext",修改為extension_dir = "C:\php-5.6.8-nts-Win32-VC11-x86\ext"。?
(4)打開console,運行php -version確認php安裝成功。
1.2 composer
點擊這里下載。?
安裝完成后,打開console,運行composer --version確認安裝成功。
安裝后在目錄地址欄輸入%AppData%回車找到C:\Users\Administrator\AppData\Roaming\Composer\vendor\bin目錄添加到 PATH 環境變量中;
composer默認會從·http://packagist.org/· 下載依賴包,速度比較慢,可以采用國內的鏡像包來替代源。?
composer的全局配置文件位于?C:\Users\Administrator\AppData\Roaming\Composer\composer.json,兩個速度比較快的可選的源配置如下
[plain] view plaincopy
[plain] view plaincopy
在開發laravel項目時,也可以在當前項目的composer.json文件中添加這些國內鏡像,可以加快對包的更新
1.3 putty
putty是免費的ssh客戶端,登錄homestead虛擬機的利器。?
點擊這里下載。?
注意?如果不使用putty登錄,用homestead ssh登錄,也可以。
2. Homestead 相關軟件安裝
2.1 vagrant
vagrant是一個虛擬機管理工具。在添加虛擬機后,可以啟動虛擬機的鏡像,如果出現錯誤,可以隨時銷毀重建開發環境。
從這里?下載。下載后直接安裝。?
vagrant安裝確認:
2.2 virtualbox
從這里?下載,下載直接安裝。
2.3 homestead
2.3.1直接使用composer安裝
composer global require "laravel/homestead=~2.0"homestead將會被安裝在C:\Users\Administrator\AppData\Roaming\Composer\vendor\laravel\homestead
2.3.2 你可以簡單地通過手動復制資源庫的方式來安裝 Homestead。將資源庫復制至你的 "home" 目錄中的?Homestead?文件夾,如此一來?
Homestead 封裝包將能提供主機服務給你所有的 Laravel(及 PHP)應用:
Git clone https://github.com/laravel/homestead.git Homestead
一旦你克隆完 Homestead 倉庫,從 Homestead 目錄中執行?bash init.sh?命令來創建Homestead.yaml?配置文件:
bash init.sh
此?Homestead.yaml?文件,將會被放置在你的?~/.homestead?目錄中。
2.4 Git
點擊這里下載,然后安裝。安裝完畢就可以使用了。
3. 環境啟動
3.1 使用vagrant添加homestead鏡像文件
離線下載虛擬機box,把box保存到任意目錄,我這里放在d:/homesteadbox;
命令行:進入d:/homesteadbox,添加box
3.2 生成rsa key
通過ssh登錄homestead需要這個。
打開Git Bash,這是一個比較完備的Windows下的shell工具。在運行homestead的命令的時候都需要在這個bash中運行。
ssh-keygen.exe -t rsa -C "xxx@163.com"3.3 配置并啟動homestead
仍然在d:/homesteadbox這個目錄中執行 homestead init生成homestead的配置文件,位于C:\Users\Administrator\.homestead\Homestead.yaml
homestead edit使用編輯器打開創建的配置文件。
--- # 虛擬機配置。 ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:- ~/.ssh/id_rsa# 共享文件夾配置,map是本地文件夾,此處修改為本地項目文件夾;to是虛擬機的文件夾,一般不需要修改,因為homestead中的nginx的配置也是如此。 folders:- map: ~/Codeto: /home/vagrant/Code# nginx的配置。需要在本地hosts中添加域名的解析。 sites:- map: homestead.appto: /home/vagrant/Code/public# mysql的數據庫配置 databases:- homestead# 這個不知道是干什么用的,猜測是環境變量設置。 variables:- key: APP_ENVvalue: local啟動homestead
homestead up報錯一:Couldn't open file /Users/Administrator/AppData/Roaming/Composer/vendor/laravel/homestead/base
原因:Users/Administrator/Vagrantfile這個文件中的 config.vm.box = "base"配置需要改為config.vm.box = "laravel/homestead"
修正后,再次 homestead up
報錯二:如果你的主機非正常關機,或者virtualbox系統非正常關機,導致virtualbox顯示異常退出,當你再次homestead up時,出現:
Vagrant/embedded/lib/ruby/2.0.0/psych.rb:2等相關錯誤,一般是./homestead/homestead.yml的配置文件出現空格或者縮進的問題,必須精確。3.4 登錄說明
登錄主要包括ssh的登錄和mysql的登錄。
3.4.1 ssh登錄
homestead ssh 我這里在使用homestead ssh時,總是會出現屏幕卡死的情況,推薦使用putty登錄。?
初始用戶名密碼?vagrant / vagrant
3.4 2 mysql密碼
homestead / secret?
root / secret
3.5 增加新的網站
-
方法一?
在homestead.yaml中添加站點配置。
sites:
? ? - map: homestead.app
? ? ? to: /home/vagrant/Code/Laravel/public
? ? - map: admin.phenix.app
? ? ? to: /home/vagrant/Code/admin/public
? ? - map: web.phenix.app
? ? ? to: /home/vagrant/Code/web/public
? ? - map: api.phenix.app
? ? ? to: /home/vagrant/Code/api/public
? ?- map: user.phenix.app
? ? ? to: /home/vagrant/Code/user/public?
然后再homestead目錄執行命令vagrant provision。?
vagrant provision這個命令是有破壞性的,它會重新構建數據庫
-
方法二?
[plain] view plaincopy
ssh登錄homestead的系統中,進入serve.sh文件的目錄中,執行serve命令。 - serve?domain.app?/home/vagrant/Code/path/to/public/directory?80?? 注意:在0.27版本的virtualbox.box中使用serve-laravel.sh
4. 命令詳解
4.1 homestead命令
| up | 啟動homestead |
| halt | 停止homestead |
| init | 創建初始化的homestead.yaml |
| edit | 編輯homestead.yaml |
| suspend | 掛起homestead |
| resume | 繼續掛起的homestead |
| ssh | 通過ssh登錄homestead |
| run | 通過ssh在homestead上運行命令 |
| status | 獲取homestead的狀態 |
| list | 列表命令 |
| help | 顯示命令的幫助 |
| provision | 重新配置homestead |
| destory | 銷毀homestead |
| update | 更新homestead鏡像 |
總結
以上是生活随笔為你收集整理的Homestead 集成开发环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100老年机配了块电池,电池这一头有一点
- 下一篇: 民生年轻卡金卡好处