• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Laravel學習筆記一-開發環境搭建

    laravel學習筆記,重新梳理知識點。

    一、環境配置

    1、編輯器選用

    • Atom

    • PHPStorm

    • SublimeText

    Atom 是由 GitHub 官方在 2014 年 2 月推出的一款開源的跨平臺代碼編輯器,這意味著你可以在流行的系統如 OS X、Windows、或者 Linux 上安裝和使用 Atom。由于 Atom 的界面優雅、易上手、插件豐富等優點,使得其在發布后受到圈內不少程序員的追捧和贊賞。我平時用的是PHPStorm和Sublime開發,這次,抱著擁抱新鮮事物的態度,這里我們使用強大的Atom編輯器

    2、開發環境搭建

    集成開發環境:VirtualBox+Vagrant+Homestead

    • 安裝 VirtualBox(V5.1.4)

    • 安裝 Vagrant (1.9.0)

    • 安裝 Homestead

    • 安裝 Git

    Vagrant 是一個用于創建和部署虛擬化開發環境的工具,其依賴于 VirtualBox 虛擬機,致力于幫助開發者快速構建一個環境統一的虛擬系統。Vagrant 最強大的地方是在于它在構建虛擬系統時的快捷簡便,使開發者可以在短短幾分鐘內完成一個虛擬系統的刪除與構建。

    Homestead 是一個基于 Ubuntu 構建的虛擬機,它包含了所有 Laravel 開發時需要用到的東西,你可以很輕松的通過指定的 Laravel 版本來找到相對應版本的 Homestead包并進行安裝。

    Mac OS X / Linux
    在解壓目錄(lt-homestead-0-6-0-2016122800)下運行以下命令添加 Box:

    > vagrant box add metadata.json

    clipboard.png

    然后安裝Homestead
    接下來,使用 Git 下載 Homestead:

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

    完成之后我們需要進入 Homestead 目錄,使用 Git 檢出我們需要的 Homestead 版本:

    > cd Homestead
    > git checkout v3.1.0

    用腳本生成 Homestead.yaml 文件:

    > bash init.sh

    運行完上面命令之后,我們即可在 ~/.homestead 目錄下找到生成的 Homestead.yaml 文件。

    查看 Homestead.yaml 文件:

    cat ~/.homestead/Homestead.yaml

    配置 Homestead
    然后對Homestead.yaml 文件進行配置,可以使用編輯器打開該文件。

    vim ~/.homestead/Homestead.yaml

    具體請看下邊的Homestead.yaml配置結果:

    ---
    ip: "192.168.10.10"
    memory: 2048
    cpus: 1
    provider: virtualbox
    
    authorize: ~/.ssh/id_rsa.pub
    
    keys:
        - ~/.ssh/id_rsa
    
    # folders 來指明本機要映射到 Homestead 虛擬機上的文件夾。
    # map 對應的是我們本機的文件夾,to 對應的是 Homestead 上的文件夾。
    folders:
        - map: ~/Code
          to: /home/vagrant/Code
    
    sites:
        - map: homestead.app
          to: /home/vagrant/Code/Laravel/public
    
    databases:
        - homestead
    
    # blackfire:
    #     - id: foo
    #       token: bar
    #       client-id: foo
    #       client-token: bar
    
    # ports:
    #     - send: 50000
    #       to: 5000
    #     - send: 7777
    #       to: 777
    #       protocol: udp
    
    

    配置 SSH

    Homestead 需要一個 SSH Key 來用于與虛擬機進行連接,Homestead 默認假定這個**會被放在 ~/.ssh 文件夾下。

    我們首先通過命令查看是否已經有SSH,如果沒有則需要生成。

    authorize: ~/.ssh/id_rsa.pub
    
    keys:
        - ~/.ssh/id_rsa

    SSH Key 需要我們自己手動生成。如果你之前使用過 Git 并對 SSH Key 進行過配置,那么這一項你可以直接跳過。

    我們可以通過運行下面命令來生成 SSH Key

    $ ssh-****** -t rsa -C "[email protected]"
    Generating public/private rsa key pair.

    出現下面提示信息時,按回車鍵將 SSH Key 保存到默認位置:

    Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

    為 SSH Key 設置密碼,不輸入則默認為空密碼:

    Enter passphrase (empty for no passphrase): [Type a passphrase]
    Enter same passphrase again: [Type passphrase again]

    配置網站映射域名

    通過映射域名的配置,便可以在頁面上通過該域名來訪問 Laravel 應用,如下面 sites 配置所示,將 homestead.app 映射到一個 Laravel 項目的 public 文件夾下,通過增加這行配置之后,如果你在 Code 文件夾中有創建一個叫 Laravel 的項目,則可以通過 http://homestead.app 來訪問該 Laravel 應用。

    sites:
        - map: homestead.app
          to: /home/vagrant/Code/Laravel/public

    需要注意的一點是,homestead.app 需要與 hosts 文件的 ip 地址相對應。
    修改完Homestead.yaml文件后,需要重新加載配置文件信息才能生效。.

    ?  ~ atom ~/.homestead/Homestead.yaml
    ?  ~ cd Homestead
    ?  Homestead git:(7924ab4) vagrant reload --provision

    然后再Hosts配置域名mac的hosts位置: /etc/hosts

    192.168.10.10  homestead.app

    配置詳情請查看 https://laravel-china.org/上的教程。

    3.開啟Vagrant

    cd ~/Homestead && vagrant up
    

    clipboard.png

    成功啟動后,通過 SSH 來登錄 Homestead:

    > vagrant ssh

    clipboard.png

    最后嘗試退出虛擬機,并關閉Vagrant

    vagrant@homestead:~$ exit
    
    Homestead git:(7924ab4) vagrant halt

    二、創建Laravel應用

    1、Composer下載Laravel安裝包

    vagrant ssh 進入到安裝的虛擬開發環境中,然后使用cd Code命令切換到Code目錄下,再使用Homestead集成的Composer命令來下載Larvel5.1安裝包,由于環境中的Composer使用的是國內鏡像Packagist/Composer 中國全量鏡像,所以,下載速度會非常快的。

    // 切換到Code目錄下
    vagrant@homestead:~$ cd Code
    vagrant@homestead:~/Code$ pwd
    /home/vagrant/Code
    vagrant@homestead:~/Code$ composer create-project laravel/laravel Laravel --prefer-dist "5.1.*"

    clipboard.png

    使用composer安裝好Laravel后,然后用配置的域名訪問頁面:
    clipboard.png

    這里需要說明一點:在虛擬路徑/home/vagrant/Code中用composer下載的資源,其實在我們本地中與之對應的映射路徑為~/Code,Homestead 將會把該文件夾下的項目自動映射到本地的Code文件夾上,所以,我們在本地的編輯器中開發Code文件夾中的代碼,在虛擬機的服務器測試本地代碼,這樣就有了一個統一的環境,也不用擔心在Mac上安裝太多的東西搞亂系統,這就是使用虛擬機與Vagrant協同開發的好處。

    clipboard.png

    2、小試牛刀

    修改首頁視圖文件resources/views/welcome.blade.php,輸出自己的信息。

    <!DOCTYPE html>
    <html>
        <head>
            <title>Laravel</title>
    
            <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
    
            <style>
                html, body {
                    height: 100%;
                }
    
                body {
                    margin: 0;
                    padding: 0;
                    width: 100%;
                    display: table;
                    font-weight: 100;
                    font-family: 'Lato';
                }
    
                .container {
                    text-align: center;
                    display: table-cell;
                    vertical-align: middle;
                }
    
                .content {
                    text-align: center;
                    display: inline-block;
                }
    
                .title {
                    font-size: 96px;
                }
            </style>
        </head>
        <body>
            <div class="container">
                <div class="content">
                    <div class="title">Laravel 5, Hey Corwien !</div>
                </div>
            </div>
        </body>
    </html>
    

    clipboard.png

    三、使用Git管理項目版本

    使用git可以對我們的代碼進行版本控制,如果萬一誤刪了代碼想回到之前的情況,則可以通過版本控制進行回滾。

    1、git 配置

    vagrant@homestead:~/Code$ git config --global user.name "Corwien"
    vagrant@homestead:~/Code$ git config --global user.email [email protected]
    vagrant@homestead:~/Code$ git config --global push.default simple

    --global 選項代表對 Git 進行全局設置。

    2、github托管項目

    我們這里將項目推到Github上進行托管,不過先需要配置,我們需要先生成公鑰,再把公鑰添加到 GitHub 賬號上。用你的github郵箱需要在本地虛擬環境中生成一個公鑰SSH Key,才可以將其Push到github上。

    vagrant@homestead:~/Code$ ssh-****** -t rsa -b 4096 -C "[email protected]"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
    /home/vagrant/.ssh/id_rsa already exists.
    Overwrite (y/n)? y
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/vagrant/.ssh/id_rsa.
    Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.

    接下來將 SSH Key 添加到 ssh-agent 中:

    $ eval `ssh-agent -s`
    $ ssh-add ~/.ssh/id_rsa

    最后我們需要將公鑰添加到 GitHub 賬號,可參照下面的 GitHub 官方指南完成配置:
    Mac 用戶配置指南

    這里簡單的概括為兩個步驟:

    1.獲取生成的SSH key,即這個文件 ~/.ssh/id_rsa.pub中的內容,使用cat命令將文件內容打印出來,然后再復制。

    vagrant@homestead:~/Code$ cat ~/.ssh/id_rsa.pub

    clipboard.png

    2.登錄Github,進入個人Setting頁,將復制的內容粘貼到下邊的Key框中即可,然后點擊Add SSH Key 按鈕,這時候,會讓你重新輸入登錄密碼進行確認。

    clipboard.png

    3、將本地代碼推送到Github

    1.Github上創建一個git倉庫
    我這里建的倉庫地址為:

    https://github.com/yourname/hello_laravel.git

    2.初始化git
    先切換到Code/laravel目錄下,然后進行初始化git init

    vagrant@homestead:~/Code$ cd laravel
    vagrant@homestead:~/Code/laravel$ git init
    Initialized empty Git repository in /home/vagrant/Code/laravel/.git/

    3、將項目所有文件納入到 Git 中:

    vagrant@homestead:~/Code/laravel$ git add -A

    4、檢查 Git 狀態:

    vagrant@homestead:~/Code/laravel$ git status

    上面命令將會向你輸出存放在 Git 暫存區的文件,這意味著這些文件還未真正提交到 Git 中。

    5、保留改動并提交:

    vagrant@homestead:~/Code/laravel$  git commit -m "Initial commit"

    上面這行命令會將暫存區的文件都提交到 Git,-m 選項后面帶的參數表示本次提交的簡單描述。

    6、將代碼上傳到github

    $ git remote add origin [email protected]:your_username/hello_laravel.git
    $ git push -u origin master

    至此,項目已成功托管到 GitHub 上了,^_^

    clipboard.png

    以后本地代碼有改動,我們只需要下面三個命令即可推送到Github:

    // 1、保存到暫存區:
    vagrant@homestead:~/Code/laravel$  git add -A
    
    // 2.輸入描述信息并提交到本地的 Git
    vagrant@homestead:~/Code/laravel$  git commit -m "Describ something"
    
    // 3.將代碼推送到 GitHub的主干分支
    vagrant@homestead:~/Code/laravel$ git push origin master

    在本地對首頁視圖文件resources/views/welcome.blade.php進行修改,然后推送到Github,進行測試下。
    clipboard.png

    查看Gihub倉庫是否有提交的內容:

    clipboard.png

    Perfect,一切都很順利,提交成功!

    4.小結

    推送到Github的兩種不同方式:

    一、在推送到github時需要輸入賬號和密碼:

    git remote add origin https://github.com/corwien/sample.git

    vagrant@homestead:~/Code/sample$ git remote add origin https://github.com/corwien/sample.git
    vagrant@homestead:~/Code/sample$ git push -u origin master
    Username for 'https://github.com': corwien
    Password for 'https://[email protected]':
    Counting objects: 102, done.

    二、不需要輸入賬號和密碼,會從本地的公鑰讀取到你在Github中設置的權限信息,以后用這種方式,不要輸密碼。

    git remote add origin [email protected]:<username>/sample.git

    $ git remote add origin [email protected]:<username>/sample.git
    $ git push -u origin master

    如果你使用的是第一種方法,那么可以使用下面的命令更換遠程庫的提交方法:

    vagrant@homestead:~/Code/sample$ git remote add origin [email protected]:corwien/sample.git
    fatal: remote origin already exists.
    vagrant@homestead:~/Code/sample$ git remote rm origin
    vagrant@homestead:~/Code/sample$ git remote add origin [email protected]:corwien/sample.git
    vagrant@homestead:~/Code/sample$

    四、使用Heroku部署上線

    Heroku是一個支持多種編程語言的 PaaS(Platform-as-a-Service)。在 2010 年被 Salesforce 收購。Heroku 作為最開始的云平臺之一,從 2007 年 6 月起開始開發,當時它僅支持 Ruby,后來增加了對 Java、Node.js、Scala、Clojure、Python 以及 PHP 和 Perl 的支持。由于其應用部署流程異常簡單,因此倍受廣大開發者歡迎。

    有關賬號及公鑰生成,推送到服務器請看Laravel-China社區的教程,注冊成功后,會開一個空間服務及域名https://corwien.herokuapp.com/,這個是我的項目在線訪問地址。

    // 重新命名:
    vagrant@homestead:~/Code/laravel$ heroku rename corwien
    Renaming fast-bayou-54271 to corwien... done
    https://corwien.herokuapp.com/ | https://git.heroku.com/corwien.git
    Git remote heroku updated
     ?    Don't forget to update git remotes for all other local checkouts of the app.
    vagrant@homestead:~/Code/laravel$

    代碼推送成功之后,可以使用此命令來快速打開線上應用:

    $ heroku open

    注意向github和heroku推送代碼的方法不同:

    git push heroku master  //  向heroku推送
    git push origin master  //  向github推送
    
    https://corwien.herokuapp.com  //在線訪問域名
    https://git.heroku.com/corwien.git // heroku倉庫

    使用域名訪問:

    clipboard.png

    五、小結

    至此,我們的Laravel開發環境搭建完成,用VirtualBox+Vagrant+Homestead搭建集成開發環境,我們不再需要在機上安裝PHP、HHVM、web服務器和其它的服務器軟件集成環境,使用Laravel官方提供的Laravel Homestead,真正的開箱即用,環境搭建好之后,在搭建的虛擬環境中用Composer來下載Laravel項目,然后我們用Git進行版本控制,并將代碼托管到Github上,最后將開發的項目應用到生成環境中,使用heroku部署一個線上代碼,可以在公網上通過域名訪問。

    相關文章:
    IOS博客項目搭建-將項目推送到Github進行管理
    解決向github提交代碼是老要輸入用戶名密碼

    版權聲明:本文為weixin_34418883原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_34418883/article/details/89168861

    智能推薦

    React Native學習筆記一之搭建開發環境

    因為項目需要,今天開始正式學習React Native,先來搭建個開發環境 忐忑的心情 因為項目比較急,而且客戶要求使用React Native開發,只能先學點基礎然后在項目中使用的時候,邊做邊學了,在保證工期的前提下,進擊的程序猿, go,go,go!! 環境 應用環境:Android 開發環境:Windows 學習地址:http://reactnative.cn/docs/0.49/getti...

    python學習筆記一python開發環境搭建

    聲明:個人學習筆記,水平有限,記錄為了加深學習印象,如有錯誤,請不吝賜教 時間:2020/11/19 安裝環境:win10 官方教程: https://www.python.org/about/gettingstarted/ 下載地址: https://www.python.org/downloads/windows/ 編寫工具:vscode 學習資料: https://github.com/ja...

    laravel 學習筆記一

    下載composer,地址為:https://getcomposer.org/download 安裝composer, 切換鏡像,網址:https://pkg.phpcomposer.com/, composer create-project --prefer-dist laravel/laravel  目錄名 composer create-project --prefer-dist ...

    Laravel & PHPStorm搭建php開發環境

    2019獨角獸企業重金招聘Python工程師標準>>> 準備工具 1.xdebug擴展 根據php版本從 xdebug官網 選擇合適的下載xdebug擴展 (注意本地php是線程安全還是非線程安全的版本),也可以將phpinfo()的信息放到PHP版本檢測,按照指導安裝 下載完成后 linux 版本 解壓: 進入安裝包目錄 生成configure執行文件 配置 編譯 安裝 安裝成...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡