摘要:配置需要一個來用于與虛擬機進行連接,默認(rèn)假定這個密鑰會被放在文件夾下。三使用管理項目版本使用可以對我們的代碼進行版本控制,如果萬一誤刪了代碼想回到之前的情況,則可以通過版本控制進行回滾。配置選項代表對進行全局設(shè)置。
一、環(huán)境配置 1、編輯器選用laravel學(xué)習(xí)筆記,重新梳理知識點。
Atom
PHPStorm
SublimeText
Atom 是由 GitHub 官方在 2014 年 2 月推出的一款開源的跨平臺代碼編輯器,這意味著你可以在流行的系統(tǒng)如 OS X、Windows、或者 Linux 上安裝和使用 Atom。由于 Atom 的界面優(yōu)雅、易上手、插件豐富等優(yōu)點,使得其在發(fā)布后受到圈內(nèi)不少程序員的追捧和贊賞。我平時用的是PHPStorm和Sublime開發(fā),這次,抱著擁抱新鮮事物的態(tài)度,這里我們使用強大的Atom編輯器
2、開發(fā)環(huán)境搭建集成開發(fā)環(huán)境:VirtualBox+Vagrant+Homestead
安裝 VirtualBox(V5.1.4)
安裝 Vagrant (1.9.0)
安裝 Homestead
安裝 Git
Vagrant 是一個用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境的工具,其依賴于 VirtualBox 虛擬機,致力于幫助開發(fā)者快速構(gòu)建一個環(huán)境統(tǒng)一的虛擬系統(tǒng)。Vagrant 最強大的地方是在于它在構(gòu)建虛擬系統(tǒng)時的快捷簡便,使開發(fā)者可以在短短幾分鐘內(nèi)完成一個虛擬系統(tǒng)的刪除與構(gòu)建。
Homestead 是一個基于 Ubuntu 構(gòu)建的虛擬機,它包含了所有 Laravel 開發(fā)時需要用到的東西,你可以很輕松的通過指定的 Laravel 版本來找到相對應(yīng)版本的 Homestead包并進行安裝。
Mac OS X / Linux
在解壓目錄(lt-homestead-0-6-0-2016122800)下運行以下命令添加 Box:
> vagrant box add metadata.json
然后安裝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配置結(jié)果:
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa # folders 來指明本機要映射到 Homestead 虛擬機上的文件夾。 # map 對應(yīng)的是我們本機的文件夾,to 對應(yīng)的是 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 默認(rèn)假定這個密鑰會被放在 ~/.ssh 文件夾下。
我們首先通過命令查看是否已經(jīng)有SSH,如果沒有則需要生成。
authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa
SSH Key 需要我們自己手動生成。如果你之前使用過 Git 并對 SSH Key 進行過配置,那么這一項你可以直接跳過。
我們可以通過運行下面命令來生成 SSH Key
$ ssh-keygen -t rsa -C "your_email@example.com" Generating public/private rsa key pair.
出現(xiàn)下面提示信息時,按回車鍵將 SSH Key 保存到默認(rèn)位置:
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
為 SSH Key 設(shè)置密碼,不輸入則默認(rèn)為空密碼:
Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again]
配置網(wǎng)站映射域名
通過映射域名的配置,便可以在頁面上通過該域名來訪問 Laravel 應(yīng)用,如下面 sites 配置所示,將 homestead.app 映射到一個 Laravel 項目的 public 文件夾下,通過增加這行配置之后,如果你在 Code 文件夾中有創(chuàng)建一個叫 Laravel 的項目,則可以通過 http://homestead.app 來訪問該 Laravel 應(yīng)用。
sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public
需要注意的一點是,homestead.app 需要與 hosts 文件的 ip 地址相對應(yīng)。
修改完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.開啟Vagrantcd ~/Homestead && vagrant up
成功啟動后,通過 SSH 來登錄 Homestead:
> vagrant ssh
最后嘗試退出虛擬機,并關(guān)閉Vagrant
vagrant@homestead:~$ exit Homestead git:(7924ab4) vagrant halt二、創(chuàng)建Laravel應(yīng)用 1、Composer下載Laravel安裝包
用vagrant ssh 進入到安裝的虛擬開發(fā)環(huán)境中,然后使用cd Code命令切換到Code目錄下,再使用Homestead集成的Composer命令來下載Larvel5.1安裝包,由于環(huán)境中的Composer使用的是國內(nèi)鏡像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.*"
使用composer安裝好Laravel后,然后用配置的域名訪問頁面:
2、小試牛刀這里需要說明一點:在虛擬路徑/home/vagrant/Code中用composer下載的資源,其實在我們本地中與之對應(yīng)的映射路徑為~/Code,Homestead 將會把該文件夾下的項目自動映射到本地的Code文件夾上,所以,我們在本地的編輯器中開發(fā)Code文件夾中的代碼,在虛擬機的服務(wù)器測試本地代碼,這樣就有了一個統(tǒng)一的環(huán)境,也不用擔(dān)心在Mac上安裝太多的東西搞亂系統(tǒng),這就是使用虛擬機與Vagrant協(xié)同開發(fā)的好處。
修改首頁視圖文件resources/views/welcome.blade.php,輸出自己的信息。
三、使用Git管理項目版本Laravel Laravel 5, Hey Corwien !
使用git可以對我們的代碼進行版本控制,如果萬一誤刪了代碼想回到之前的情況,則可以通過版本控制進行回滾。
1、git 配置vagrant@homestead:~/Code$ git config --global user.name "Corwien" vagrant@homestead:~/Code$ git config --global user.email corwien@xxx.com vagrant@homestead:~/Code$ git config --global push.default simple
--global 選項代表對 Git 進行全局設(shè)置。
2、github托管項目我們這里將項目推到Github上進行托管,不過先需要配置,我們需要先生成公鑰,再把公鑰添加到 GitHub 賬號上。用你的github郵箱需要在本地虛擬環(huán)境中生成一個公鑰SSH Key,才可以將其Push到github上。
vagrant@homestead:~/Code$ ssh-keygen -t rsa -b 4096 -C "corwien@XXX.com" 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中的內(nèi)容,使用cat命令將文件內(nèi)容打印出來,然后再復(fù)制。
vagrant@homestead:~/Code$ cat ~/.ssh/id_rsa.pub
2.登錄Github,進入個人Setting頁,將復(fù)制的內(nèi)容粘貼到下邊的Key框中即可,然后點擊Add SSH Key 按鈕,這時候,會讓你重新輸入登錄密碼進行確認(rèn)。
3、將本地代碼推送到Github1.Github上創(chuàng)建一個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 狀態(tài):
vagrant@homestead:~/Code/laravel$ git status
上面命令將會向你輸出存放在 Git 暫存區(qū)的文件,這意味著這些文件還未真正提交到 Git 中。
5、保留改動并提交:
vagrant@homestead:~/Code/laravel$ git commit -m "Initial commit"
上面這行命令會將暫存區(qū)的文件都提交到 Git,-m 選項后面帶的參數(shù)表示本次提交的簡單描述。
6、將代碼上傳到github
$ git remote add origin git@github.com:your_username/hello_laravel.git $ git push -u origin master
至此,項目已成功托管到 GitHub 上了,^_^
以后本地代碼有改動,我們只需要下面三個命令即可推送到Github:
// 1、保存到暫存區(qū): 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,進行測試下。
查看Gihub倉庫是否有提交的內(nèi)容:
Perfect,一切都很順利,提交成功!
4.小結(jié)推送到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://corwien@github.com": Counting objects: 102, done.
二、不需要輸入賬號和密碼,會從本地的公鑰讀取到你在Github中設(shè)置的權(quán)限信息,以后用這種方式,不要輸密碼。
git remote add origin git@github.com:
$ git remote add origin git@github.com:/sample.git $ git push -u origin master
如果你使用的是第一種方法,那么可以使用下面的命令更換遠程庫的提交方法:
vagrant@homestead:~/Code/sample$ git remote add origin git@github.com:corwien/sample.git fatal: remote origin already exists. vagrant@homestead:~/Code/sample$ git remote rm origin vagrant@homestead:~/Code/sample$ git remote add origin git@github.com:corwien/sample.git vagrant@homestead:~/Code/sample$四、使用Heroku部署上線
Heroku是一個支持多種編程語言的 PaaS(Platform-as-a-Service)。在 2010 年被 Salesforce 收購。Heroku 作為最開始的云平臺之一,從 2007 年 6 月起開始開發(fā),當(dāng)時它僅支持 Ruby,后來增加了對 Java、Node.js、Scala、Clojure、Python 以及 PHP 和 Perl 的支持。由于其應(yīng)用部署流程異常簡單,因此倍受廣大開發(fā)者歡迎。
有關(guān)賬號及公鑰生成,推送到服務(wù)器請看Laravel-China社區(qū)的教程,注冊成功后,會開一個空間服務(wù)及域名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$
代碼推送成功之后,可以使用此命令來快速打開線上應(yīng)用:
$ 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倉庫
使用域名訪問:
五、小結(jié)至此,我們的Laravel開發(fā)環(huán)境搭建完成,用VirtualBox+Vagrant+Homestead搭建集成開發(fā)環(huán)境,我們不再需要在機上安裝PHP、HHVM、web服務(wù)器和其它的服務(wù)器軟件集成環(huán)境,使用Laravel官方提供的Laravel Homestead,真正的開箱即用,環(huán)境搭建好之后,在搭建的虛擬環(huán)境中用Composer來下載Laravel項目,然后我們用Git進行版本控制,并將代碼托管到Github上,最后將開發(fā)的項目應(yīng)用到生成環(huán)境中,使用heroku部署一個線上代碼,可以在公網(wǎng)上通過域名訪問。
相關(guān)文章:
IOS博客項目搭建-將項目推送到Github進行管理
解決向github提交代碼是老要輸入用戶名密碼
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/22257.html
摘要:我是一名程序員,想學(xué)習(xí)一下這個的框架。我現(xiàn)在把這個學(xué)習(xí)過程記錄下來。首先是安裝環(huán)境,要先使用框架之前,必須要先安裝的開發(fā)環(huán)境。最后我用下面這條命令來安裝。安裝是界用來管理包的,相當(dāng)于中的。這樣,整個開發(fā)環(huán)境搭建完畢。 我是一名ruby on rails程序員,想學(xué)習(xí)一下laravel這個php的web mvc框架。 我手頭上有一臺macbook。 我現(xiàn)在把這個學(xué)習(xí)過程記錄下來。 首先是...
摘要:簡介其實在這樣的一個云計算時代早就已被人眾所周知了它改變了傳統(tǒng)物理機的虛擬化方式使得機器的資源得到了高效的利用因為運行在中的應(yīng)用實際上就是運行在宿主機上的所以它是不需要進行硬件層面的虛擬化以及運行一個完整操作系統(tǒng)來支持于是在應(yīng)用代碼的執(zhí)行效 Docker簡介 其實在這樣的一個云計算時代, Docker 早就已被人眾所周知了,它改變了傳統(tǒng)物理機的虛擬化方式,使得機器的資源得到了高效的利用...
摘要:可以使用來做,也是作者開發(fā)的,可靠性也有保證。不管怎樣,總會遇到很多不僅僅一個需要的,這個具有公用性的就可以做成一個放在公司內(nèi)部搭建的鏡像上,這也極大提高整體的開發(fā)效率。 隨著業(yè)務(wù)越來越復(fù)雜,有些service具有通用性,即Repo A中的某一service其他的幾個Repo都會不同程度的需要,如果能把該service作為一個獨立的package,這樣其他的Repo可以composer...
摘要:說明本文主要講述了的文件系統(tǒng)的小,邏輯不復(fù)雜,主要就是把上的一個文件下載到本地,和下載到中。寫驅(qū)動由于沒有驅(qū)動,需要自定義下在中寫上名為的驅(qū)動同時在注冊下該就行。執(zhí)行命令后,顯示上文件從上下載到上的文件該邏輯簡單,但很好玩。 說明:本文主要講述了Laravel的文件系統(tǒng)Filesystem的小Demo,邏輯不復(fù)雜,主要就是把Dropbox上的一個文件下載到本地local,和下載到AWS...
摘要:中異常處理類主要包含兩個方法和,其中就是主要用來向第三方發(fā)送異常報告,這里選擇向這個神器發(fā)送異常報告,并使用通知開發(fā)人員。通過也能發(fā)現(xiàn)的執(zhí)行流程。 說明:Laravel學(xué)習(xí)筆記之bootstrap源碼解析中聊異常處理時提到過Sentry這個神器,并打算以后聊聊這款神器,本文主要就介紹這款Errors Tracking神器Sentry,Sentry官網(wǎng)有一句話個人覺得帥呆了: Stop ...
閱讀 2423·2021-11-16 11:44
閱讀 853·2021-09-10 11:16
閱讀 2228·2019-08-30 15:54
閱讀 1060·2019-08-30 15:53
閱讀 1905·2019-08-30 13:00
閱讀 622·2019-08-29 17:07
閱讀 3514·2019-08-29 16:39
閱讀 3138·2019-08-29 13:30