Windows使用Vagrant打造Laravel Homestead可協同跨平臺開發環境

      網友投稿 814 2022-05-29

      http://www.itkeyword.com/doc/3863994020922591518

      1、簡介

      Laravel?致力于讓整個 PHP 開發過程變得讓人愉悅,包括本地開發環境,為此官方為我們提供了一整套本地開發環境 —— Laravel?Homestead。

      Laravel Homestead 是一個打包好各種 Laravel 開發所需要的工具及環境的?vagrant?盒子(Vagrant?提供了一個便捷的方式來管理和設置虛擬機),該盒子為我們提供了優秀的開發環境,有了它,我們不再需要在本地環境安裝?PHP、HHVM、Web服務器以及其它工具軟件,我們也完全不用再擔心誤操作搞亂操作系統 —— 因為 Vagrant 盒子是一次性的,如果出現錯誤,可以在數分鐘內銷毀并重新創建該 Vagrant 盒子!

      Homestead可以運行在 Windows、Mac 以及 Linux 系統上,其中已經安裝好了Nginx、PHP7.0、MySQL、Postgres、Redis、Memcached、Node以及很多其它開發 Laravel 應用所需要的東西。

      注:如果你使用的是Windows,需要開啟系統的硬件虛擬化(VT-x),這通??梢酝ㄟ^BIOS來開啟。

      Ubuntu 14.04

      Git

      PHP 7.0

      HHVM

      Xdebug

      Nginx

      MySQL

      SQLite 3

      Postgres

      Composer

      Node(With PM2, Bower, Grunt, and Gulp)

      Redis

      Memcached

      Beanstalkd

      Blackfire?Profiler

      環境準備

      Git

      PHP

      Laravel

      Composer

      Vagrant

      VirtualBox

      安裝git

      1.下載GitHub for Windows

      https://windows.github.com/

      安裝php

      Windows上使用Vagrant打造Laravel Homestead可協同跨平臺開發環境

      建議大家盡量安裝當前最新版本的 PHP

      1.下載PHP

      http://windows.php.net/download/

      2.解壓目錄

      我的路徑D:\php

      3.添加環境變量

      右鍵計算機->高級系統設置->環境變量->系統變量->PATH

      C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\nodejs\;D:\php;C:\ProgramData\ComposerSetup\bin

      4.設置php.ini

      進入 PHP 安裝目錄(例如 D:\php)。找到 php.ini-development 文件并復制一份到當前目錄,重命名為 php.ini,修改以下配置

      去掉extension=php_mbstring.dll 前面的分號(888 行左右)

      去掉extension=php_openssl.dll前面的分號(893 行左右)

      去掉extension_dir = "ext"前面的分號(736 行左右)

      5.使環境變量生效

      重啟explorer.exe

      安裝Laravel

      1.下載Laravel

      http://www.golaravel.com/download/

      2.解壓目錄

      我的路徑D:\laravel-v5.1.4

      3.啟動Laravel

      d: cd laravel-v5.1.4 D:\laravel-v5.1.4>php artisan serve Laravel development server started on http://localhost:8000/

      在瀏覽器中訪問http://localhost:8000/

      artisan 的 serve 命令還支持兩個參數:

      host 設置主機地址

      port 設置 web server 監聽的端口號

      例如:php artisan serve --port=8888

      安裝Composer

      1.下載Composer-Setup.exe

      https://getcomposer.org/doc/00-intro.md#installation-windows

      2.配置Composer

      Loading composer repositories with package information Installing dependencies (including require-dev) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed”

      如果安裝過程提示報錯為缺少CA證書,下載cacert.pem到自定義路徑

      http://curl.haxx.se/docs/caextract.html

      然后修改php.ini文件(1983行左右)

      openssl.cafile=D:\php\verify\cacert.pem

      3.測試Composer

      composer -V

      Composer version 1.0-dev (d79427f1a7b15e8f4d46ce8124a4d0c58ba1479c) 2016-01-27 13:01:22

      windows安裝可參考

      http://pkg.phpcomposer.com/

      2、安裝 & 設置

      準備工作

      VirtualBox 虛擬機,基礎依賴

      Vagrant 基于VirtualBox或vmware的虛擬化環境部署工具,可以將一個虛擬機打包(簡稱vbox)給別人。

      Homestead laravel官方vbox,集成環境以及一套特制的命令行工具。

      xshell 這是一款windows下的ssh & shell工具,同類的有securecrt、putty等。

      在使用 Homestead 之前,需要先安裝?Virtual Box/VMWare?和?Vagrant,所有這些軟件包都為常用操作系統提供了一個便于使用的可視化安裝器。

      安裝完以后重啟一下,再打開cmd

      vagrant?--version

      Vagrant 1.8.1

      下載安裝 Homestead Vagrant 盒子

      通過命令

      VirtualBox/VMWare 和 Vagrant 安裝好了之后,在終端中使用能如下命令將?laravel/homesterad?添加到 Vagrant 中。下載該盒子將會花費一些時間,時間長短主要取決于你的網絡連接速度:

      vagrant box add laravel/homestead

      如果上述命令執行失敗,可以使用 Vagrant 老版本的方式,這需要輸入完整的 URL:

      vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

      可以自動下載homestead的vbox,然而國內網絡大家懂的,龜速。

      建議自己有vps的同學,在vps上通過

      wget -O homestead.box https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.1/providers/virtualbox.box

      手動下載后,再從vps上將box下載到本地,或者可以試試用迅雷下載??傊?,想辦法把這個box文件下載下來,然后通過以下命令添加到vagrant

      vagrant box add laravel/homestead file:///d:/homestead.box

      通過 GitHub 安裝 Homestead命令行工具

      你還可以通過簡單克隆倉庫代碼來實現 Homestead 安裝。將倉庫克隆到用戶目錄下的 Homestead 目錄,這樣 Homestead 盒子就可以會作為所有其他 Laravel 項目的主機:

      cd ~ git clone https://github.com/laravel/homestead.git Homestead

      克隆完成后,在 Homestead 目錄下運行?bash init.sh?命令來創建?Homestead.yaml?配置文件,Homestead.yaml?配置文件文件位于?~/.homestead?目錄:

      bash init.sh

      composer install

      在Homestead目錄執行

      php homesteadLaravel Homestead version 3.0.1

      設置 Provider

      Homestead.yaml?文件中的?provider?鍵表示使用哪個 Vagrant 提供者:virtualbox、vmware_fushion?或者vmware_workstation,你可以將其設置為自己喜歡的提供者:

      provider: virtualbox

      配置共享文件夾

      推薦:使用Vagrant在Windows平臺搭建嵌入式Linux開發環境(2)Tftpd服務器搭建

      1、獲取root權限 ?????? Ubuntu默認使用user用戶登錄,而開發大部分情況下需要用到root權限,使用命令切換用戶到超級權限用戶root ?????? sudo su ? 2、下載安裝

      C:\Users\stone\.homestead\Homestead.yaml

      Homestead.yaml?文件中的?folders?屬性列出了所有主機和 Homestead 虛擬機共享的文件夾,一旦這些目錄中的文件有了修改,將會在本地和 Homestead 虛擬機之間保持同步,如果有需要的話,你可以配置多個共享文件夾(一般一個就夠了):

      folders:

      - map: d:/app

      to: /home/vagrant/Code

      如果要開啟?NFS,只需簡單添加一個標識到同步文件夾配置:

      folders: - map: ~/Code to: /home/vagrant/Code type: "nfs"

      配置 Nginx 站點

      對 Nginx 不熟?沒問題,通過?sites?屬性你可以方便地將“域名”映射到 Homestead 虛擬機的指定目錄,Homestead.yaml?中默認已經配置了一個示例站點。和共享文件夾一樣,你可以配置多個站點:

      sites:

      - map: homestead.app

      to: /home/vagrant/Code/Laravel/public

      你還可以通過設置?hhvm?為?true?讓所有的 Homestead 站點使用 HHVM:

      sites:

      - map: homestead.app

      to: /home/vagrant/Code/Laravel/public

      hhvm: true

      默認情況下,每個站點都可以通過 HTTP(端口號:8000)和 HTTPS(端口號:44300)進行訪問。

      修改Hosts文件|訪問網站

      不要忘記把 Nginx 站點配置中的域名添加到本地機器上的?hosts?文件中,該文件會將對本地域名的請求重定向到 Homestead 虛擬機,在 Mac 或 Linux上,該文件位于?/etc/hosts,在 Windows 上,位于C:\Windows\System32\drivers\etc\hosts,添加方式如下:

      域名需要在本機綁定hosts:192.168.10.10 homestead.app

      確保 IP 地址和你的?Homestead.yaml?文件中列出的一致,一旦你將域名放置到 hosts 文件,就可以在瀏覽器中通過該域名訪問站點了!

      http://homestead.app

      配置好?Homestead.yaml?文件后,在 Homestead 目錄下運行?vagrant up?命令,Vagrant 將會啟動虛擬機并自動配置共享文件夾以及 Nginx 站點。

      銷毀該機器,可以使用 vagrant destroy –force

      vagrant up Box 'laravel/homestead' could not be found 問題解決辦法

      Box 'laravel/homestead' could not be found

      收到在homestead目錄下創建metadata.json文件,內容為

      {

      "name": "laravel/homestead",

      "versions": [{

      "version": "0.4.1",

      "providers": [{

      "name": "virtualbox",

      "url": "file:///F:/VirtualBox/homestead.box"

      }]

      }]

      }

      Then run vagrant box add metadata.json

      This will install the box with a version and can be confirmed by:

      $ vagrant box list

      laravel/homestead?????????????? (virtualbox, 0.4.0)

      You will now be able to perform vagrant up using your local box.

      Default login and password is just vagrant.

      參考:

      http://stackoverflow.com/questions/34946837/box-laravel-homestead-could-not-be-found

      GuestAdditions versions on your host (5.0.14) and guest (5.0.6) do not match.問題解決辦法

      This works for me in linux, I think this will solve the problem in windows as well.

      Quick Solution for Failed to mount folders in Linux guest issue.

      Add the following line to your Homestead/Vagrantfile:

      config.vbguest.auto_update = false

      Your d:\VirtualBox/Homestead/Homestead/Vagrantfile should looks like this:

      /...

      Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

      # To avoid install and uninstall VBoxGuessAdditions during vagrant provisioning. config.vbguest.auto_update = false .../

      Save it and execute

      $ vagrant destroy --force

      $ vagrant up

      http://stackoverflow.com/questions/30175290/laravel-homestead-vagrant-vboxsf-not-available-issue

      全局安裝 Homestead 將會使每個項目共享同一個 Homestead 盒子,你還可以為每個項目單獨安裝 Homestead,這樣就會在該項目下創建?Vagrantfile,允許其他人在該項目中執行?vagrant up?命令,在指定項目根目錄下使用 Composer 執行安裝命令如下:

      composer require laravel/homestead --dev

      這樣就在項目中安裝了 Homestead。Homestead 安裝完成后,使用?make?命令生成?Vagrantfile?和Homestead.yaml?文件,make?命令將會自動配置?Homestead.yaml?中的?sites?和?folders?屬性。

      Mac/Linux:

      php vendor/bin/homestead make

      Windows:

      vendor\bin\homestead make

      接下來,在終端中運行?vagrant up?命令然后在瀏覽器中通過?http://homestead.app?訪問站點。不要忘記在/etc/hosts?文件中添加域名?homestead.app。

      3、日常使用

      有時候你想要在文件系統的任意位置運行?vagrant up?啟動 Homestead 虛擬機,要實現這一目的需要將 Homestead 安裝目錄添加到系統路徑。這樣你就可以在系統的任意位置運行?homestead?或?homestead ssh?來啟動/登錄虛擬機。

      你可以在 Homestead 目錄下通過運行?vagrant ssh?以 SSH 方式連接到虛擬機

      vagrant ssh

      但是如果你需要以更平滑的方式連接到 Homestead,可以為主機添加一個別名來快速連接到 Homestead 盒子,創建完別名后,可以使用?vm?命令從任何地方以 SSH 方式連接到 Homestead 虛擬機:

      alias vm="ssh vagrant@127.0.0.1 -p 2222"

      用戶名和密碼: vagrant.

      默認已經在 Homestead 虛擬機中為 MySQL 和 Postgres 數據庫做好了配置,更方便的是,Laravel的?.env?還為連接 Homestead 數據庫做好了配置。

      想要通過本地的 Navicat 或 Sequel Pro 連接到 Homestead 上的 MySQL 或 Postgres 數據庫,可以通過新建連接來實現,主機 IP 都是?127.0.0.1,對于 MySQL 而言,端口號是33060,對 Postgres 而言,端口號是54320,用戶名/密碼是?homestead/secret。

      注意:只有從本地連接 Homestead 的數據庫時才能使用這些非標準的端口,在 Homestead 虛擬機中還是應該使用默認的 3306 和 5432 端口進行數據庫連接配置。

      Homestead 虛擬機在運行時,可能需要添加額外 Laravel 應用到 Nginx 站點。如果是在單個 Homestead 環境中運行多個 Laravel 應用,添加站點很簡單,只需將站點添加到?Homestead.yaml?文件,然后在 Homestead 目錄中運行vagrant provision?命令即可。

      Homestead 中新增一個domain的步驟是

      在homestead.ymal 文件里面編輯好sites和folders這兩個項目

      執行vagrant provision

      Laravel 提供了很方便的方式來調度 Cron 任務:只需每分鐘調度運行一次 Artisan 命令?schedule:run?即可。schedule:run?會檢查定義在?App\Console\Kernel?類中定義的調度任務并判斷運行哪些任務。

      如果想要為某個 Homestead 站點運行?schedule:run?命令,需要在定義站點時設置?schedule?為?true:

      sites:

      - map: homestead.app

      to: /home/vagrant/Code/Laravel/public

      schedule: true

      該站點的 Cron 任務會被定義在虛擬機的?/etc/cron.d?目錄下。

      默認情況下,Homestead 端口轉發配置如下:

      SSH: 2222 → Forwards To 22

      HTTP: 8000 → Forwards To 80

      HTTPS: 44300 → Forwards To 443

      MySQL: 33060 → Forwards To 3306

      Postgres: 54320 → Forwards To 5432

      轉發更多端口

      如果你想要為 Vagrant 盒子添加更多端口轉發,做如下轉發協議設置即可:

      ports: - send: 93000 to: 9300 - send: 7777 to: 777 protocol: udp

      4、使用 Blackfire Profiler 進行性能分析

      SensioLabs 開發的?Blackfire Profiler?能自動收集代碼執行數據,比如內存、CPU 時間、硬盤 I/O 等,Homestead 使得在應用中使用該性能分析器變得輕而易舉。

      Blackfire Profiler 需要的軟件包已經預安裝到 Homestead 盒子,你只需要在?Homestead.yaml?文件中設置 Blackfire Server ID 和 token:

      blackfire: - id: your-server-id token: your-server-token client-id: your-client-id client-token: your-client-token

      配置好 Blackfire 的憑證之后,在 Homestead 目錄下使用?vagrant provision?重新啟動 Homestead。在此之前,確保你已經查看過?Blackfire 文檔了解了如何在瀏覽器安裝相應的 Blackfire 擴展。

      相關密碼

      Ubuntu

      用戶名:vagrant

      密碼:vagrant

      mysql密碼

      homestead / secret

      root / secret

      虛擬機操作

      在不進入虛擬機的情況下,還可以使用下面的命令對 虛擬機進行管理:

      vagrant up (啟動虛擬機)

      vagrant halt (關閉虛擬機——對應就是關機)

      vagrant suspend (暫停虛擬機——只是暫停,虛擬機內存等信息將以狀態文件的方式保存在本地,可以執行恢復操作后繼續使用)

      vagrant resume (恢復虛擬機 —— 與前面的暫停相對應)

      vagrant destroy (刪除虛擬機,刪除后在當前虛擬機所做進行的除開Vagrantfile中的配置都不會保留)

      以上命令需在Homestead目錄下執行

      參考:

      http://stackoverflow.com/questions/26655516/how-to-install-manually-downloaded-box-for-vagrant

      http://stackoverflow.com/questions/34946837/box-laravel-homestead-could-not-be-found

      http://stackoverflow.com/questions/25981735/laravel-homestead-stuck-on-vm-login

      http://os.51cto.com/art/201507/484834.htm

      http://yaojinbu.com/post/2749.html

      http://x-bird.qiubs.com/laravel-homestead-intro.html?utm_source=tuicool&utm_medium=referral

      http://blog.csdn.net/small_rice_/article/details/45366299

      http://blog.csdn.net/markely/article/details/49585887

      http://www.ekan001.com/articles/40

      http://www.tuicool.com/articles/rIVJRvm

      Laravel Windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:深度學習進階,多個輸出和多個損失實現多標簽分類
      下一篇:鯤鵬服務器docker部署mysql 8.0.19,及自定義Dockerfile
      相關文章
      亚洲伊人久久综合影院| 亚洲午夜久久久精品影院| 亚洲狠狠综合久久| 亚洲熟妇无码八AV在线播放| 久久精品国产亚洲av品善| 亚洲国产精品无码久久久秋霞1| 亚洲色在线无码国产精品不卡| 激情内射亚洲一区二区三区爱妻| 亚洲熟妇无码爱v在线观看| 色婷婷六月亚洲婷婷丁香| 久久久久亚洲AV无码专区首| 亚洲成色在线综合网站| 亚洲国产精品一区第二页| 亚洲AV永久无码精品成人| 久久国产亚洲电影天堂| 亚洲国产精品一区| 精品无码一区二区三区亚洲桃色 | 亚洲A∨无码无在线观看| 亚洲AV无码一区东京热| 亚洲第一福利网站| 亚洲高清美女一区二区三区| 亚洲视频免费在线播放| 亚洲三级视频在线| 亚洲熟妇无码AV| 国产精品亚洲综合网站| 亚洲精品国产V片在线观看| 国产亚洲精品拍拍拍拍拍| 亚洲乱码无码永久不卡在线| 亚洲国产精品一区二区成人片国内 | 亚洲邪恶天堂影院在线观看| 亚洲网站在线播放| 亚洲色图激情文学| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲Aⅴ无码一区二区二三区软件| 亚洲男人的天堂在线va拉文| 一本久久a久久精品亚洲| 亚洲AV无码专区电影在线观看 | 亚洲成在人天堂一区二区| 精品亚洲A∨无码一区二区三区| 亚洲剧场午夜在线观看| 亚洲欧美国产国产一区二区三区|