<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                * * * * * [TOC] ## 簡介 Laravel 致力于讓 PHP 的開發過程更加輕松愉快,這其中也包括你的本地開發環境。?[Vagrant](https://www.vagrantup.com/)?提供了一種簡單,優雅的方式來管理和調配虛擬機。 Laravel Homestead 是一個官方預封裝的 Vagrant box,它為你提供了一個完美的開發環境,你無需在本地安裝 PHP ,web 服務器,或其他服務軟件。并且不用擔心系統被搞亂! Vagrant box 是完全一次性的。如果有什么地方出錯了,你也可以在幾分鐘內銷毀并重建 box ! Homestead 可以運行在 Windows 、 Mac 或 Linux 系統上,并且里面包含了 Nginx Web 服務器、 PHP 7.1 、 MySQL 、 Postgres 、 Redis 、 Memcached 、 Node 、 以及所有利于你開發 laravel 應用的其他程序。 > {note} 如果你是 Windows 用戶,你可能需要啟用硬件虛擬化(VT-x)。這通常需要通過 BIOS 來啟用它。如果你在一個 UEFI 系統上使用的是 Hyper-V,你需要關閉 Hyper-V 才能啟用 VT-x。 ### 內置軟件 * Ubuntu 16.04 * Git * PHP 7.1 * Nginx * MySQL * MariaDB * Sqlite3 * Postgres * Composer * Node (With Yarn, Bower, Grunt, and Gulp) * Redis * Memcached * Beanstalkd * Mailhog * ngrok ## 安裝與設置 ### 第一步 在你啟動你的 Homestead 環境之前,你必須安裝?[VirtualBox 5.1](https://www.virtualbox.org/wiki/Downloads)?、?[VMWare](https://www.vmware.com/)?或?[Parallels](http://www.parallels.com/products/desktop/)?的其中之一,以及?[Vagrant](https://www.vagrantup.com/downloads.html)?。這些軟件在各個常用的平臺都有提供簡單易用的界面安裝包。 若要使用 VMware provider,你需要同時購買 VMware Fusion / Workstation 以及?[VMware Vagrant plug-in](https://www.vagrantup.com/vmware). 的軟件授權。使用 VMware 可以在共享文件夾上獲得較快的性能。 若要使用 Parallels provider,你需要安裝?[Parallels Vagrant plug-in](https://github.com/Parallels/vagrant-parallels)?。這是免費使用的。 #### 安裝 Homestead Vagrant Box 當 VirtualBox / VMware 以及 Vagrant 安裝完成后,你使用以下命令將 laravel/homestead 這個 box 安裝進你的 Vagrant 程序中。 box 的下載會花費你一點時間,具體的下載時長由網絡速度決定: ~~~ vagrant box add laravel/homestead ~~~ 如果上面的命令運行失敗,代表你使用的可能是舊版的 Vagrant,請升級你的 Vagrant。 #### 安裝 Homestead 你可以通過手動克隆代碼倉庫的方式來安裝 Homestead。建議將代碼倉庫克隆至「home」目錄中的 Homestead 文件夾,如此一來 Homestead box 就能將主機服務提供給你所有的 Laravel 項目: ~~~ cd ~ git clone https://github.com/laravel/homestead.git Homestead ~~~ 由于 Homestead 的?`master`?分支并不是穩定分支,你應該檢出已經標簽過的穩定版本。你可以在?[Github Release Page](https://github.com/laravel/homestead/releases)找到最新的穩定版本。 ~~~ cd Homestead // 檢出所需要的版本... git checkout v4.0.5 ~~~ 一旦你克隆完 Homestead 的代碼倉庫,即可在 Homestead 目錄中運行?`bash init.sh`?命令 來創建?`Homesstead.yaml`?配置文件。?`Homesstead.yaml`?文件會被放置在你的 Homestead 目錄中: ~~~ // Mac / Linux... bash init.sh // Windows... init.bat ~~~ ### 配置 Homestead #### 配置你的提供者 `Homestead.yaml`?中的?`provider`?參數設置取決于你用的是哪一個 Vagrant 提供者?`virtualbox`?、?`vmware_fusion`?、?`vmware_workstation`?,或者?`parallels`?。你可以根據自己的喜好來設置提供者: ~~~ provider: virtualbox ~~~ #### 配置共享文件夾 你可以在?`Homestead.yaml`?文件的?`folders`?屬性里列出所有想與 Homestead 環境共享的文件夾。這些文件夾中的文件若有變更,它們將會在你的本機電腦與 Homestead 環境自動更新同步。你可以在這里設置多個共享文件夾: ~~~ folders: - map: ~/Code to: /home/vagrant/Code ~~~ 若要啟動?[NFS](https://www.vagrantup.com/docs/synced-folders/nfs.html)?,只需要在共享文件夾的設置值中加入一個簡單的參數: ~~~ folders: - map: ~/Code to: /home/vagrant/Code type: "nfs" ~~~ 你也可以在配置中傳遞任何 Vagrant 中的?[共享文件夾](https://www.vagrantup.com/docs/synced-folders/basic_usage.html)?支持的參數,在?`options`?參數下列出它們: ~~~ folders: - map: ~/Code to: /home/vagrant/Code type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"] ~~~ #### 配置 Nginx 站點 對 Nginx 不熟悉嗎?沒關系。`sites`?屬性可以幫助你可以輕易指定一個?`域名`?來對應到 homestead 環境中的一個目錄上。在?`Homestead.yaml`?文件中已包含了一個網站設置范本。同樣的,你也可以增加多個網站到你的 Homestead 環境中。 Homestead 可以同時為多個 Laravel 應用提供虛擬化環境: ~~~ sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public ~~~ 如果你在 Homestead box 配置之后更改了?`sites`?屬性,那么應該重新運行?`vagrant reload --provision`?來更新 Nginx 配置到虛擬機上。 #### 關于 Hosts 文件 你必須將在 Nginx sites 中所添加的「域名」也添加到你本機電腦的?`hosts`?上。?`hosts`?文件會將請求重定向至 Homestead 環境中設置的本地域名。在 Mac 或 Linux 上,該文件通常會存放在?`/etc/hosts`?。在 Windows 上,則存放于?`C:\Windows\System32\drivers\etc\hosts`?。設置內容如下所示: ~~~ 192.168.10.10 homestead.app ~~~ 務必確認 IP 地址與?`Homestead.yaml`?文件中設置的相同。將域名設置在?`hosts`?文件之后,你就可以通過網頁瀏覽器訪問你的網站。 ~~~ http://homestead.app ~~~ ### 啟動 Vagrant Box 編輯完?`Homestead.yaml`?后,進入你的 Homestead 目錄并運行?`vagrant up`?命令。 Vagrant 就會根據?`Homestead.yaml`?里的配置信息,為虛擬機設置共享文件夾和 Nginx 網站。 如果要移除虛擬機,你可以使用?`vagrant destroy --force`?命令 ### 為每個項目分開安裝 除了全局使用同一個 Homestead 環境, Homestead 還允許你為項目獨立配置一個獨占的 Homstead 。 通過傳遞?`Vagrantfile`?,可以實現為每個項目分別安裝上 Homestead ,其他項目成員只需要通過簡單的?`vagrant up`?即能跟你擁有一樣的 Homestead 環境。 使用 Composer 將 Homestead 直接安裝至項目中: ~~~ composer require laravel/homestead --dev ~~~ 一旦 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`?或其它想要使用的域名。 ### 安裝 MariaDB 如果你希望使用 MariaDB 來替換 MySQL,你可以在?`Homestead.yaml`?文件中增加一個?`mariadb`?的選項,這個選項會移除 MySQL 并安裝 MariaDB。因為 MariaDB 可用作 MySQL 的替代品,所以在你的數據庫配置信息里,還是選用?`mysql`?配置項。 ~~~ box: laravel/homestead ip: "192.168.20.20" memory: 2048 cpus: 4 provider: virtualbox mariadb: true ~~~ ## 常見用法 ### 全局使用 如果你希望在文件系統的任何地方都可以?`vagrant up`?開啟 Homestead 虛擬機,你可以把以下代碼放到你的 Bash profile 里面,這個函數允許你在文件系統的任何位置都可以對 Homestead 運行 Vagrant 命令: #### Mac / Linux ~~~ function homestead() { ( cd ~/Homestead && vagrant $* ) } ~~~ 請將?`~/Homestead`?這個路徑修改為你的實際 Homestead 的安裝路徑,一旦這個函數安裝成功,就可以在系統的任意位置運行?`homestead up`?或?`homestead ssh`?命令 #### Windows 在系統的任意位置創建一個批處理文件?`homestead.bat`?,并添加如下內容: ~~~ @echo off set cwd=%cd% set homesteadVagrant=C:\Homestead cd /d %homesteadVagrant% && vagrant %* cd /d %cwd% set cwd= set homesteadVagrant= ~~~ 請將?`C:\Homestead`?這個路徑修改為你的實際 Homestead 的安裝路徑,創建完這個文件后,將這個文件路徑添加到?`PATH`?環境變量中,就可以在系統的任意位置運行?`homestead up`?或?`homestead ssh`?命令 ### 通過SSH連接 在 Homestead 目錄運行?`vagrant ssh`?命令來連接虛擬主機。 你可能會經常需要使用 SSH 來連接 Homestead 主機,你可以考慮將上述「function」添加到你的主機,以便快速的通過 SSH 進入你的 Homestead box ### 連接數據庫 在 box 中已經為 MySQL 和 Postgres 配置好了一個開箱即用的數據庫?`homestead`?,為了更方便的使用它,Laravel 中的?`.env`?文件將這個數據庫設置成了框架默認使用的數據庫。 如果想要從你主機上的數據庫客戶端連接 MySQL 或 Postgres,可以通過?`127.0.0.1`?來使用端口?`33060`(MySQL) 或?`54320`(Postgres) 連接。賬號密碼分別是?`homestead`?/?`secret` > {note} 因為虛擬機做了端口轉發,所以本機電腦上你應當只使用這些非標準的連接端口,虛擬機里依然使用默認的 3306 及 5432 連接端口。 ### 增加更多網站 一旦 Homestead 環境配置完畢且成功運行后,你可能會想要為 Laravel 應用程序增加更多的 Nginx 網站。你可以在單個 Homestead 環境中運行多個 Laravel 程序。要添加額外的網站,只需將網站添加到您的?`Homestead.yaml`?文件中: ~~~ sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public - map: another.app to: /home/vagrant/Code/another/public ~~~ 如果 Vagrant 沒有自動管理你的「hosts」文件,你可能需要手動把新增的站點加入到「hosts」文件中: ~~~ 192.168.10.10 homestead.app 192.168.10.10 another.app ~~~ 當你的網站添加完成,從你的 Homestead 目錄運行?`vagrant reload --provision`?命令就可以應用新的更改。 #### Site Types Homestead supports several types of sites which allow you to easily run projects that are not based on Laravel. For example, we may easily add a Symfony application to Homestead using the?`symfony2`?site type: ~~~ sites: - map: symfony2.app to: /home/vagrant/Code/Symfony/public type: symfony2 ~~~ The available site types are:?`apache`,?`laravel`?(the default),?`proxy`,?`silverstripe`,?`statamic`, and?`symfony2`. ### 配置 Cron 調度器 Laravel 提供了便利的方式來?[調度 Cron 任務](https://laravel-china.org/docs/laravel/5.4/scheduling)?,通過?`schedule:run`?Artisan 命令,調度便會在每分鐘被運行。?`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 * **Mailhog:**?8025 → Forwards To 8025 #### 轉發更多的端口 如果你需要的話,也可以借助指定連接端口的通信協議來轉發更多額外的連接端口給 Vagrant box : ~~~ ports: - send: 93000 to: 9300 - send: 7777 to: 777 protocol: udp ~~~ ### 共享你的環境 有時候你想跟你的同事或者是客戶共享你目前的工作進度。Vagrant 為此提供了一個內置方法?`vagrant share`;不過,如果你在你的?`Homestead.yaml`?文件中配置了多個站點則這條命令將會變得沒多大用處。 為了解決這個問題,Homestead 提供了自己的?`share`?命令。開始之前,通過?`vagrant ssh`?命令 SSH 進你的 Homestead 機器中,然后運行?`share homestead.app`。這會從你的?`Homestead.yaml`?配置文件中共享?`homestead.app`?站點。當然,你也可以用其他已經配置的站點來代替?`homestead.app`。 運行完命令之后,你可以看到一個包含活動日志和共享站點外網訪問路徑的 Ngrok 界面。 > {note} 謹記,Vagrant 本質上是不安全的,當你運行?`share`?命令的時候,你會把你的虛擬機暴露在互聯網中。 ## 網絡接口 ## Network Interfaces `Homestead.yaml`?文件里的?`networks`?配置項允許你為 Homestead 環境配置網絡接口。你可以任意配置多個網絡接口: ~~~ networks: - type: "private_network" ip: "192.168.10.20" ~~~ 想要配置一個?[橋接](https://www.vagrantup.com/docs/networking/public_network.html)?接口的話,增加?`bridge`?配置項,然后?`type`?填寫為?`public_network`?: ~~~ networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)" ~~~ 想要配置一個?[DHCP](https://www.vagrantup.com/docs/networking/public_network.html)?接口的話,請從配置中移除?`ip`?選項: ~~~ networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)" ~~~ ## 更新 Homestead 你可以簡單的用兩個步驟來更新 Homestead ,第一步,使用?`vagrant box update`?命令更新 Vgrant box : ~~~ vagrant box update ~~~ 接下來。你需要更新 Homestead 的源代碼,如果你是通過克隆倉庫的方式安裝的 Homestead ,你可以簡單的運行?`git pull origin master`?命令在你最初克隆倉庫的位置。 如果你已經通過你的項目中的?`composer.json`?文件安裝了 Homestead ,你應該確認你的?`composer.json`?文件中是否包含?`"laravel/homestead: "^4"`?并且更新你的依賴: ~~~ composer update ~~~ ## 歷史版本 你可以通過添加以下配置到你的?`Homestead.yaml`?文件來方便的覆蓋 Homestead 使用的 box 版本 ~~~ version: 0.6.0 ~~~ 例如: ~~~ box: laravel/homestead version: 0.6.0 ip: "192.168.20.20" memory: 2048 cpus: 4 provider: virtualbox ~~~ 當你使用舊版本的 box 時,你需要確保 Homestead 源代碼的版本與之對應,下面的圖表展示了支持的 box 版本,以及與之對應的 Homestead 的源代碼版本和 box 所提供的 PHP 版本: | | Homestead Version | Box Version | | --- | --- | --- | | PHP 7.0 | 3.1.0 | 0.6.0 | | PHP 7.1 | 4.0.0 | 1.0.0 | ## Provider 的特殊設置 ### VirtualBox Homestead 默認將?`natdnshostresolver`?設置為?`on`。這允許 Homestead 使用你的主機系統中的 DNS 設置。如果你想重寫這行為,你可以在你的?`Homestead.yaml`?文件中添加下面這幾行: ~~~ provider: virtualbox natdnshostresolver: off ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看