iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 開發環境

來源:互聯網
上載者:User

標籤:包括   nbsp   可視化   ini   ase   按鈕   工具   版本號碼   好的   

統一開發環境

為了保證在學習和工作過程中避免因為開發環境不一致而導致各種各樣的問題,Laravel 官方為了我們提供了一個完美的開發環境 Laravel Homestead,讓我們無需再本地安裝 PHP,網頁伺服器或任何服務軟體。

Homestead 可以在任何 Windows、Mac 或 Linux 系統上運行,它包括了 Nginx Web 服務器、PHP 7.1、MySQL、PostgresSQL、Redis、Memcached、Node 以及開發 laravel 應用所需的東西。

Homestead 內建軟體:

  • Ubuntu 16.04
  • Git
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (帶有 Yarn、Bower、Grunt 和 Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok
對於初學者相關的軟體和知識點可能還不太瞭解,但是無需擔心,在後續的教程中會陸續使用並且會有相應的章節進行詳細的講解。

本次系列教程,我們將使用目前最新的版本 Homestead 5.1.0 + vagrant 2.0.1 + VirtualBox 5.2.6 + Win10 來進行開發環境的搭建。

這套軟體環境在 Win7 上也可以正常使用。

相關的軟體我們已經整理在百度網盤上,有如下軟體:

  1. Git:對源碼進行版本管理。
  2. TortoiseGit:對於初學者不熟悉命令時,可以使用該視覺化檢視代理命令來管理源碼。
  3. SourceTreeSetup:圖形化 git 管理 + Git Flow 工具
  4. Xshell:安全的終端管理軟體,通過 SSH 來登入 Linux 系統。
  5. VirtualBox: 虛擬機器軟體
  6. Vagrant:建立虛擬化開發環境工具
  7. homestead-virtualbox5.1.0: Homestead VirtualBox 下的虛擬機器檔案。
  8. WinSCP: WinSCP是一個Windows環境下使用SSH的開源圖形化SFTP用戶端。同時支援SCP協議。它的主要功能就是在本地與遠端電腦間安全的複製檔案。
  9. Notepad++: 是 Windows作業系統下的一套比較好用文字編輯器,不僅有文法高亮度顯示,也有文法摺疊功能,並且支援宏以及擴充準系統的外掛模組。

以上軟體可在百度網盤上進行下載,連結:https://pan.baidu.com/s/1bqVD5MJ 密碼:4lku

建議安裝先後順序:Git->TortoiseGit->Xshell->SourceTreeSetup->VirtualBox->Vagrant->Homestead

除了 Homestead 外,其他軟體傻瓜式下一步安裝下去即可,一些軟體的使用在後續章節也會做相關介紹。

重要說明:因為篇幅有限,文中牽涉的軟體暫時不會進行詳細的介紹,該文章最終目的是保證初學者按照操作後,能夠成功建立開發環境。 Vagrant 的一些常用命令,可以通過 Google 或百度搜尋相關文章。
安裝 Homestead

需要先安裝好 Git,VirtualBox,Vagrant 三個必要軟體。

添加 Homestead Box

在C盤下建立 workspace 檔案夾,並且把下載好的 homestead-virtualbox5.1.0.box 檔案拷貝到該目錄下,並且右鍵選擇 Git Bash Here 在目前的目錄開啟命令視窗。

通過 vagrant box add 命令來完成 Homestead box 的添加

$ vagrant --version# Vagrant 2.0.1  查看 vagrant 版本,表示 vagrant 已經正常安裝$ vagrant box add laravel/homestead homestead-virtualbox5.1.0.box

執行結果如所示:

配置 Homestead

執行如下命令:

$ git clone https://github.com/laravel/homestead.git$ cd homestead$ bash init.sh

執行結果如所示:

執行完成後會產生 Homestead.yaml 檔案,使用 Nodepad++ 開啟該設定檔,相關配置的作用已經通過 # +文字的方式進行了說明,如下所示:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualbox# 虛擬機器設定,包含了IP地址,記憶體,cpu,以及驅動類型(virtualbox)authorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsa# ssh 密鑰檔案,用來直接登入虛擬機器主機,後面也會用到此密鑰,在後面從 Github 拉取源碼時會用到folders:    - map: ~/code      to: /home/vagrant/code# 檔案對應目錄,通過該配置會把 Windows 系統下的檔案自動同步到虛擬機器上。`~/code` 代表當前系統使用者目錄下的 `code` 目錄,如樣本中系統的路徑就是`C:\Users\32780\code`,`32780`是當前登入系統的使用者名稱稱。 sites:    - map: homestead.test      to: /home/vagrant/code/public      # 網站配置,會自動產生 Laravel 的 nginx 虛擬機器主機檔案。databases:    - homestead# 資料庫配置,在後續的過程中不是很常用

在最後我們為了實現一個簡單的 hello world,請改為如下配置:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsafolders:    - map: C:/workspace/code      to: /home/vagrant/codesites:    - map: homestead.test      to: /home/vagrant/codedatabases:    - homestead
產生 SSH key

在啟動 Homestead 虛擬機器主機前我們需要產生 SSH key,執行如下命令:

$ ssh-keygen -t rsa -C "[email protected]"  #請替換成你自己的郵箱# Generating public/private rsa key pair...# 三次斷行符號即可產生 ssh key

啟動 Homestead 虛擬機器主機

執行 vagrant up 前還需要再做一點小改動,才能保證正常啟動。

開啟 C:\Users\32780\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead 目錄

請把 32780 替換成你目前登入 windows 系統的使用者名稱

兩個改動:

  1. 把檔案夾 0 改成當前 Homestead 的版本號碼 5.1.0
  2. 添加 metadata_url 檔案,內容只添加 https://app.vagrantup.com/laravel/boxes/homestead 即可,不要存在任何多餘的空白字元。

接下來在 C:\workspace\homestead 目錄下執行 vagrant up 啟動虛擬機器主機。

Hello World添加 index.html

在 C:\workspace\code 目錄下添加 index.html 檔案,內容只要一個簡單的 hello world 即可。建立成功後,檔案會自動同步到Homestead 虛擬機器主機上。

添加 hosts

用 Nodepad++ 開啟 C:\Windows\System32\drivers\etc\hosts 檔案,添加如下代碼:

192.168.10.10 homestead.test
只差一步

瀏覽器輸入 http://homestead.test

Hello Laravel

接下來把 Laravel 部署到虛擬機器中去,就跟完成 hello world 一樣,會稍微複雜一點點。

下載源碼

教程中的樣本源碼我們放在了 github 上,地址:https://github.com/ibrandcc/a...

在 c:\workspace 目錄下右鍵 Git Bash Here ,開啟命令視窗,執行如下代碼來 clone 源碼。

git clone https://github.com/ibrandcc/api-tutorial-source.git

執行完畢後會多出一個 api-tutorial-source 目錄。

配置 Homestead.yaml

新增檔案同步目錄

在 folders: 下添加如下代碼

    - map: C:/workspace/api-tutorial-source      to: /mnt/www/api.ibrand.test

把源碼目錄映射同步到虛擬機器主機上的 /mnt/www/api.ibrand.test 目錄下。

增加虛擬機器主機

在 sites: 下添加如下代碼

    - map: api.ibrand.test      to: /mnt/www/api.ibrand.test/public
請注意檔案中的空白處必須是空格鍵打出來的空格,不可用 Tab 鍵。

添加完成後,Homestead.yaml 檔案內容如下:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsafolders:    - map: C:/workspace/code      to: /home/vagrant/code    - map: C:/workspace/api-tutorial-source      to: /mnt/www/api.ibrand.testsites:    - map: homestead.test      to: /home/vagrant/code    - map: api.ibrand.test      to: /mnt/www/api.ibrand.test/publicdatabases:    - homestead
重載  Homestead.yaml

在更改後,需要通過 vagrant reload --provision 命令重啟虛擬機器主機並且重載 Homestead.yaml 中的配置資訊。

配置 Xshell 進入虛擬機器

啟動之前安裝的 Xshell 軟體

點擊建立,添加新的會話配置

  • 名稱:homestead
  • 主機:192.168.10.10

點擊左側的 使用者身分識別驗證,使用者名稱和密碼都輸入:vagrant

點擊確定按鈕,儲存設定。

點擊連線按鍵,進行會話串連,第一次串連會彈出如下提示框,選擇接受並儲存

操作完成後,會成功登入虛擬機器,登入成功後執行 sudo bash 命令切換到 root 帳號

安裝 Laravel
$ cd /mnt/www/api.ibrand.test/$ composer install$ cp .env.example .env$ php artisan key:generate

添加 hosts

用 Nodepad++ 開啟 C:\Windows\System32\drivers\etc\hosts 檔案,添加如下代碼:

192.168.10.10 api.ibrand.test
最後一步

瀏覽器輸入 http://api.ibrand.test

總結

過程稍微有點複雜,但是搭建好這個環境可以避免後續再開發過程中的很多問題,特別是開發完成後部署到生產伺服器,幾乎是不會有相容性的問題。這一點在 iBrand 產品各個客戶的生產環境上已經得到驗證,而且這也是 Laravel 官方推薦的開發方式,所以值得大家去掌握。

對於剛入門的初學者來說可能不會用 vagrant ,也不懂其中的原理,因為篇幅原因沒辦法對所有的細節說明到位,只需要暫時知道出現的命令的作用和意義,更多的用法可以通過自己的探索去學習掌握,而且後續教程中也會慢慢講到更多的知識點。

iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 開發環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.