使用vagrant + Homestead搭建lumen统一开发环境

Vagrant 是一个可创建轻量级、高复用性和便于移植的开发环境的工具。使用Vagrant在本地开发,可以更快,更简单,并可以同时管理多个开发环境。

一、软件安装

1、composer

作用:安装lumen及laravel Homestead

官网:https://getcomposer.org/

2、lumen

作用: 新建/初始化项目

官网:https://lumen.laravel.com/

3、github client

作用:生成SSH Keys

官网:https://desktop.github.com/

4、wamp或php

作用:提供PHP环境

官网:http://www.wampserver.com/en/

5、virtualbox

作用:提供服务器载体

官网:https://www.virtualbox.org/

6、vagrant

作用:虚拟化服务器

官网:https://www.vagrantup.com/

以上软件都可以在其官网上下载,选择window版本,下载后安装即可。

 

二、初始化项目并安装Homestead

1、新建Lumen项目lumenTest

lumen new lumenTest

2、安装homestead

在命令行进入项目文件夹

composer require laravel/homestead

以上命令正常执行完成后,在项目文件夹lumenTest/vendor/bin文件夹下会有homehead执行文件

在项目路径的命令行下执行

php vendor/laravel/homestead/homestead make

执行成功后会返回Homestead安装成功提醒:“ Homestead Installed! ” 。

 

三、配置Homestead并映射域名

上面步骤完成后,这时在项目文件夹根目录会生成一个Homestead.yaml配置文件,在这里我们只要配置下面几项:

authorize:本地公钥路径
keys:本地私钥路径
sites:
– map: 域名地址

第一步:生成并配置SSH Key

在window下,默认的SSH钥匙存放在当前用户文件夹的.ssh文件夹下。如“C:\Users\Administrator\.ssh”文件夹。如果你原来生成过一些SSH Keys,你会发现这个文件夹下已经有文件,一般是三个(id_rsa,id_rsa.pub,known_hosts),我们可以发现在Homestead.yaml中配置的也是相同的密钥名称,我们这里把这些SSH Keys区别开来

使用github客户端切换到“C:\Users\Administrator\.ssh”文件夹,执行命令

ssh-keygen -t rsa -C yaoyonstudio@gmail.com

这时会让你输入key名称,我们在这里输入“lumen”,接着让你输入密码,直接按两次回车键即可。这时在你的.ssh文件夹中已经生成了(lumen和lumen.pub)文件,我们把Homestead.yaml中authorize的~/.ssh/id_rsa.pub替换为~/.ssh/lumen.pub,把keys中的~/.ssh/id_rsa替换为~/.ssh/lumen

第二步:配置域名

域名配置在Homestead.yaml文件中的sites中的map中。把原来的“homestead.app”的替换为”lumentest.com”

第三步:在本地绑定域名

在Homestead.yaml文件的最上面有一行

ip: “192.168.10.10”

这个IP就是我们开发环境的IP地址,我们现在要把这个IP地址映射到上面配置的域名中。

在“C:\Windows\System32\drivers\etc”目录下有一个hosts文件,用文本编辑器打开,在最下面添加一行

192.168.10.10 lumenTest.com

这样,我们的开发环境服务器就与域名lumentest.com建立了映射。

到此,Homestead已配置完成。

 

四、vagrant配置运行

终于轮到vagrant上场。打开命令行工具,输入

vagrant box add laravel/Homestead

这时如果弹出让你选择虚拟机,选择virtualbox,按数字序号1回车

这时会开始下载vagrant box,下载完成后,执行

vagrant up

等待执行完成后,在浏览器输入原先配置的域名http://lumentest.com即可访问项目。

success

五、vagrant常用命令解析

vagrant具体使用可以参考其官网文档(https://www.vagrantup.com/docs/),这里主要看一下vagrant提供的命令行接口。

在命令行下输入

vagrant

可以看到vagrant提供的常用命令行接口。

1、vagrant box : 这是最常用的命令之一。这条命令用来管理vagrant的盒子(boxes),vagrant用盒子(box)的概念来管理不同的服务器空间。

box命令有几个子命令:

(1)vagrant box add : 添加一个vagrant虚拟机,后跟一个vagrant虚拟机的配置地址或包,如我们前面使用的:

vagrant box add laravel/Homestead

(2)vagrant box list : 显示当前vagrant虚拟机列表

(3)vagrant box remove:移除指定的vagrant虚拟机

2、vagrant init :添加虚拟机box后初始化虚拟机

3、vagrant up :启动虚拟机

4、vagrant status : 查看当前vagrant虚拟机运行情况

5、vagrant halt : 关闭vagrant虚拟机

6、vagrant destroy : 删除vagrant虚拟机

7、vagrant reload :重启vagrant虚拟机

8、vagrant package :打包当前vagrant虚拟机为一个可重复使用的box

 

那时那我

jinyunblogadmin

2 thoughts to “使用vagrant + Homestead搭建lumen统一开发环境”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据