为了保证在学习和工做过程当中避免由于开发环境不一致而致使各类各样的问题,Laravel 官方为了咱们提供了一个完美的开发环境 Laravel Homestead,让咱们无需再本地安装 PHP,web 服务器或任何服务软件。php
Homestead 能够在任何 Windows、Mac 或 Linux 系统上运行,它包括了 Nginx Web 服务器、PHP 7.一、MySQL、PostgresSQL、Redis、Memcached、Node 以及开发 laravel 应用所需的东西。html
Homestead 内置软件:nginx
对于初学者相关的软件和知识点可能还不太了解,可是无需担忧,在后续的教程中会陆续使用而且会有相应的章节进行详细的讲解。
本次系列教程,咱们将使用目前最新的版本 Homestead 5.1.0 + vagrant 2.0.1 + VirtualBox 5.2.6 + Win10 来进行开发环境的搭建。laravel
这套软件环境在 Win7 上也能够正常使用。
相关的软件咱们已经整理在百度网盘上,有以下软件:git
以上软件可在百度网盘上进行下载,连接:https://pan.baidu.com/s/1bqVD5MJ 密码:4lkugithub
建议安装前后顺序:Git->TortoiseGit->Xshell->SourceTreeSetup->VirtualBox->Vagrant->Homesteadweb
除了 Homestead 外,其余软件傻瓜式下一步安装下去便可,一些软件的使用在后续章节也会作相关介绍。shell
重要说明:由于篇幅有限,文中牵涉的软件暂时不会进行详细的介绍,该文章最终目的是保证初学者按照操做后,可以成功创建开发环境。 Vagrant 的一些经常使用命令,能够经过 Google 或百度搜索相关文章。
须要先安装好 Git,VirtualBox,Vagrant 三个必要软件。数据库
在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
执行结果以下图所示:
执行以下命令:
$ git clone https://github.com/laravel/homestead.git $ cd homestead $ bash init.sh
执行结果以下图所示:
执行完成后会生成 Homestead.yaml
文件,使用 Nodepad++ 打开该配置文件,相关配置的做用已经经过 # +文字的方式进行了说明
,以下所示:
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox # 虚拟机配置,包含了IP地址,内存,cpu,以及驱动类型(virtualbox) authorize: ~/.ssh/id_rsa.pub keys: - ~/.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: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: C:/workspace/code to: /home/vagrant/code sites: - map: homestead.test to: /home/vagrant/code databases: - homestead
在启动 Homestead 虚拟主机前咱们须要生成 SSH key,执行以下命令:
$ ssh-keygen -t rsa -C "xxxxx@xxxxx.com" #请替换成你本身的邮箱 # Generating public/private rsa key pair... # 三次回车便可生成 ssh key
执行 vagrant up
前还须要再作一点小改动,才能保证正常启动。
打开 C:\Users\32780\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead
目录
请把 32780 替换成你目前登陆 windows 系统的用户名
两个改动:
0
改为当前 Homestead 的版本号 5.1.0
https://app.vagrantup.com/laravel/boxes/homestead
便可,不要存在任何多余的空格字符。接下来在 C:\workspace\homestead
目录下执行 vagrant up
启动虚拟主机。
在 C:\workspace\code
目录下添加 index.html
文件,内容只要一个简单的 hello world
便可。建立成功后,文件会自动同步到 Homestead
虚拟主机上。
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts
文件,添加以下代码:
192.168.10.10 homestead.test
浏览器输入 http://homestead.test
接下来把 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
目录。
新增文件同步目录
在 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: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: C:/workspace/code to: /home/vagrant/code - map: C:/workspace/api-tutorial-source to: /mnt/www/api.ibrand.test sites: - map: homestead.test to: /home/vagrant/code - map: api.ibrand.test to: /mnt/www/api.ibrand.test/public databases: - homestead
Homestead.yaml
在更改后,须要经过 vagrant reload --provision
命令重启虚拟主机而且重载 Homestead.yaml
中的配置信息。
启动以前安装的 Xshell 软件
点击新建
,添加新的会话配置
点击左侧的 用户身份验证
,用户名和密码都输入:vagrant
点击肯定按钮,保存设置。
点击链接按钮,进行会话链接,第一次链接会弹出以下提示框,选择接受并保存
操做完成后,会成功登入虚拟机,登入成功后执行 sudo bash
命令切换到 root
帐号
$ cd /mnt/www/api.ibrand.test/ $ composer install $ cp .env.example .env $ php artisan key:generate
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts
文件,添加以下代码:
192.168.10.10 api.ibrand.test
浏览器输入 http://api.ibrand.test
过程稍微有点复杂,可是搭建好这个环境能够避免后续再开发过程当中的不少问题,特别是开发完成后部署到生产服务器,几乎是不会有兼容性的问题。这一点在 iBrand 产品各个客户的生产环境上已经获得验证,并且这也是 Laravel 官方推荐的开发方式,因此值得你们去掌握。
对于刚入门的初学者来讲可能不会用 vagrant ,也不懂其中的原理,由于篇幅缘由没办法对全部的细节说明到位,只须要暂时知道出现的命令的做用和意义,更多的用法能够经过本身的探索去学习掌握,并且后续教程中也会慢慢讲到更多的知识点。
有任何问题欢迎咨询 : )
Laravel & VUE & 小程序 & 电商产品 交流群:674454674 暗号:segmentfault