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