[原创]使用Laravel Homestead(1)

继续昨天的内容:https://wenda.shukaiming.com/article/6 我们已经安装好了Laravel官方给我们定制的Homestead本地开发环境之后,再次进入用户主目录下面的Homestead目录并启动vagrant: win+...

继续昨天的内容:https://wenda.shukaiming.com/article/6

我们已经安装好了Laravel官方给我们定制的Homestead本地开发环境之后,再次进入用户主目录下面的Homestead目录并启动vagrant:

win+R #windows键+R
cd Homestead #进入C:\Users\admin
vagrant up #启动laravel Homestead这个virtual box

我们直接在命令行下执行如下命令:

vagrant ssh #通过ssh协议链接vagrant虚拟机,记得一定要以Windows管理员权限安装git-scm官网给我们提供的git客户端哈

如果我们的Homestead虚拟机被玩坏了怎么办呢?简单粗暴,直接摧毁它(还是在Homestead目录下)

vagrant destroy --force

每个项目独立地安装Homestead命令行工具

如果你有多个项目同时开发的话,laravel官方建议你为每一个不同的项目独立安装和配置Homestead实例,因为每个项目独立地安装Homestead可能会让你的项目跟Vagrantfile搭载在一起,很方便其他人一个vagrant up命令就可以开始工作了。

把Homestead直接安装到项目,使用如下命令:

composer require laravel/homestead --dev

安装成功后,可以使用如下命令生成homestead.yaml配置文件和vagrant的配置文件Vagrantfile:

#Mac / Linux:

php vendor/bin/homestead make
#Windows:

vendor\\bin\\homestead make

# 上面的make命令会自动配置homestead.yaml配置文件里面的sites和folders

另外,一定要记得配置hosts文件哈。

把MySQL替换成MariaDB

作为MySQL的姐妹花MariaDB,你甚至可以不动你的任何一行数据库配置代码,就可以完全替代MySQL来进行开发,只需要对homestead.yaml文件做以下更改:

box: laravel/homestead
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox
mariadb: true #就是这一行将会移除MySQL而安装MariaDB

2 日常使用全局地使用Homestead

有时候你想使用vagrant up命令启动你的开发环境虚拟机,你只需要写一个批处理脚本homestead.bat就搞定了,记得把这个脚本的所在目录路径放到你的PATH环境变量里面哈。
下面只说windows下如何使用,批处理脚本如下:

@echo off

set cwd=%cd%
set homesteadVagrant=C:\Users\admin\Homestead #这个是你的homestead虚拟机目录,一定要跟自己的目录对号入座,不要搞错了

cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%

set cwd=
set homesteadVagrant=

接下来,你就可以使用homestead up(替换掉了vagrant up,启动homestead的vagrant虚拟机)和homestead ssh(替换掉了vagrant ssh,通过ssh协议访问远程服务器终端)。

通过ssh访问homestead远程服务器终端

进入homestead虚拟机启动目录,然后使用如下命令:

vagrant up

当然,如果配置了homestead.bat(上面那个批处理脚本),那就可以在任何位置(不一定要进入虚拟机启动目录)请使用下面的快捷命令:

homestead up

连接到数据库

一个名字叫homestead的数据已经为MySQL和Postgres两种数据库配置好了,可以开箱即用(就是不需要太多的安装步骤,并且启动好虚拟机就可以连接使用了的意思),

更方便的是,laravel的.env文件已经为这俩数据配置好了,你也可以开箱即用。

连接到你的数据库,MySQL和Postgres,你可以通过Navicat等软件直接连接你的loopback本地地址(127.0.0.1)的33060 和54320两个端口,用户名和密码:homestead/secret

注意涉及到了vagrant的端口映射问题,请同学们自己去Google一下vagrant的端口映射的具体使用。

添加更多的站点

你可以需要在你的homestead虚拟机里面添加更多的nginx站点,那么只需要对homestead.yaml文件做如下更改:

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: another.app
      to: /home/vagrant/Code/another/public

当然还要记得对你的hosts文件添加一行映射:

192.168.10.10  homestead.app
192.168.10.10  another.app

为了让nginx生成对应的配置文件,下面你只需要使用如下命令重新加载并生成对应的配置文件:

vagrant reload --provision

想添加更多站点类型的web应用,你只需要对homestead.yaml文件做类似下面的修改:

sites:
    - map: symfony2.app
      to: /home/vagrant/Code/Symfony/public
      type: symfony2 #这是新的站点类型,不同的框架不太一样哈

laravel自己定制的homestead虚拟机支持这几种站点的配置:apache, laravel (默认), proxy, silverstripe, statamic, 以及symfony2

本文来自PHP问答网原创文章,转载请保留此链接地址:https://wenda.shukaiming.com/article/7,否则将通过法律手段追究版权责任。

未完待续~~~

  • 发表于 2017-05-10 10:16
  • 阅读 ( 1325 )
  • 分类:Laravel

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
Kemin

架构工程师

45 篇文章

作家榜 »

  1. Kemin 45 文章
  2. golanglover 5 文章
  3. D.Chen 4 文章
  4. salamander 1 文章
  5. 深圳-伟 1 文章
  6. 广训 1 文章
  7. PHP小菜 1 文章
  8. Undefined 0 文章