资讯专栏INFORMATION COLUMN

Laravel学习笔记一-开发环境搭建

Galence / 696人阅读

摘要:配置需要一个来用于与虚拟机进行连接,默认假定这个密钥会被放在文件夹下。三使用管理项目版本使用可以对我们的代码进行版本控制,如果万一误删了代码想回到之前的情况,则可以通过版本控制进行回滚。配置选项代表对进行全局设置。

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

然后安装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-keygen -t rsa -C "your_email@example.com"
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

成功启动后,通过 SSH 来登录 Homestead:

> vagrant ssh

最后尝试退出虚拟机,并关闭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.*"

使用composer安装好Laravel后,然后用配置的域名访问页面:

这里需要说明一点:在虚拟路径/home/vagrant/Code中用composer下载的资源,其实在我们本地中与之对应的映射路径为~/Code,Homestead 将会把该文件夹下的项目自动映射到本地的Code文件夹上,所以,我们在本地的编辑器中开发Code文件夹中的代码,在虚拟机的服务器测试本地代码,这样就有了一个统一的环境,也不用担心在Mac上安装太多的东西搞乱系统,这就是使用虚拟机与Vagrant协同开发的好处。

2、小试牛刀

修改首页视图文件resources/views/welcome.blade.php,输出自己的信息。



    
        Laravel

        

        
    
    
        
Laravel 5, Hey Corwien !

三、使用Git管理项目版本

使用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 进行全局设置。

2、github托管项目

我们这里将项目推到Github上进行托管,不过先需要配置,我们需要先生成公钥,再把公钥添加到 GitHub 账号上。用你的github邮箱需要在本地虚拟环境中生成一个公钥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中的内容,使用cat命令将文件内容打印出来,然后再复制。

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

2.登录Github,进入个人Setting页,将复制的内容粘贴到下边的Key框中即可,然后点击Add SSH Key 按钮,这时候,会让你重新输入登录密码进行确认。

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 git@github.com:your_username/hello_laravel.git
$ git push -u origin master

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

以后本地代码有改动,我们只需要下面三个命令即可推送到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,进行测试下。

查看Gihub仓库是否有提交的内容:

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://corwien@github.com":
Counting objects: 102, done.

二、不需要输入账号和密码,会从本地的公钥读取到你在Github中设置的权限信息,以后用这种方式,不要输密码。

git remote add origin git@github.com:/sample.git

$ 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 月起开始开发,当时它仅支持 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仓库

使用域名访问:

五、小结

至此,我们的Laravel开发环境搭建完成,用VirtualBox+Vagrant+Homestead搭建集成开发环境,我们不再需要在机上安装PHP、HHVM、web服务器和其它的服务器软件集成环境,使用Laravel官方提供的Laravel Homestead,真正的开箱即用,环境搭建好之后,在搭建的虚拟环境中用Composer来下载Laravel项目,然后我们用Git进行版本控制,并将代码托管到Github上,最后将开发的项目应用到生成环境中,使用heroku部署一个线上代码,可以在公网上通过域名访问。

相关文章:
IOS博客项目搭建-将项目推送到Github进行管理
解决向github提交代码是老要输入用户名密码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22257.html

相关文章

  • Ruby 程序员学习 laravel 框架笔记 (1)-php 开发环境安装

    摘要:我是一名程序员,想学习一下这个的框架。我现在把这个学习过程记录下来。首先是安装环境,要先使用框架之前,必须要先安装的开发环境。最后我用下面这条命令来安装。安装是界用来管理包的,相当于中的。这样,整个开发环境搭建完毕。 我是一名ruby on rails程序员,想学习一下laravel这个php的web mvc框架。 我手头上有一台macbook。 我现在把这个学习过程记录下来。 首先是...

    sugarmo 评论0 收藏0
  • 从零构建个基于Docker的Laravel应用

    摘要:简介其实在这样的一个云计算时代早就已被人众所周知了它改变了传统物理机的虚拟化方式使得机器的资源得到了高效的利用因为运行在中的应用实际上就是运行在宿主机上的所以它是不需要进行硬件层面的虚拟化以及运行一个完整操作系统来支持于是在应用代码的执行效 Docker简介 其实在这样的一个云计算时代, Docker 早就已被人众所周知了,它改变了传统物理机的虚拟化方式,使得机器的资源得到了高效的利用...

    ixlei 评论0 收藏0
  • Laravel 学习笔记之 Toran Proxy 搭建私有Packagist镜像

    摘要:可以使用来做,也是作者开发的,可靠性也有保证。不管怎样,总会遇到很多不仅仅一个需要的,这个具有公用性的就可以做成一个放在公司内部搭建的镜像上,这也极大提高整体的开发效率。 随着业务越来越复杂,有些service具有通用性,即Repo A中的某一service其他的几个Repo都会不同程度的需要,如果能把该service作为一个独立的package,这样其他的Repo可以composer...

    senntyou 评论0 收藏0
  • Laravel学习笔记之Filesystem-从Dropbox中下载文件到AWS S3

    摘要:说明本文主要讲述了的文件系统的小,逻辑不复杂,主要就是把上的一个文件下载到本地,和下载到中。写驱动由于没有驱动,需要自定义下在中写上名为的驱动同时在注册下该就行。执行命令后,显示上文件从上下载到上的文件该逻辑简单,但很好玩。 说明:本文主要讲述了Laravel的文件系统Filesystem的小Demo,逻辑不复杂,主要就是把Dropbox上的一个文件下载到本地local,和下载到AWS...

    tylin 评论0 收藏0
  • Laravel学习笔记之Errors Tracking神器——Sentry

    摘要:中异常处理类主要包含两个方法和,其中就是主要用来向第三方发送异常报告,这里选择向这个神器发送异常报告,并使用通知开发人员。通过也能发现的执行流程。 说明:Laravel学习笔记之bootstrap源码解析中聊异常处理时提到过Sentry这个神器,并打算以后聊聊这款神器,本文主要就介绍这款Errors Tracking神器Sentry,Sentry官网有一句话个人觉得帅呆了: Stop ...

    xiguadada 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<