前言

之前写过一篇文章(https://www.jianshu.com/p/5f30280a3c18),说不需要这玩意儿一样可以开发。是的,但是对于团队来说,使用统一的环境、开发工具、编码规范等,对于大型项目的维护、效率等有着莫大的作用。所以,homestead不可不学。

Homestead是什么

Laravel Homestead 是一个官方预封装的 Vagrant Box,它为你提供了一个完美的开发环境,你无需在本地安装 PHP 、web 服务器或任何服务软件。 Vagrant Box 是完全一次性的,不用担心会搞乱你的操作系统!如果有什么地方出错了,你可以在几分钟内销毁并重建该 Box !

安装参考:https://d.laravel-china.org/docs/5.5/homestead#configuring-homestead

使用

文件夹同步设置

Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹

意思是我们本地的 文件夹:~/Code 会映射到 虚拟机的 /home/vagrant/Code,以后本地的文件夹中的改动都会同步到虚拟机。

站点配置

切换到 /Users/userName/.homestead

 对,打开Homestead.yaml
 
 
 
 
 
 
 
 
 
 
 

文件内容注意,ip地址指的是给虚拟机指定的ip,这个默认就可以了。不要改动。要注意的是,以后没添加一个域名,就要在host文件中填下类似如下映射 .

baidu.test 192.168.10.10

provider: virtualbox ,这里虚拟机也可以改为别的。

接下来看下站点,如下,你可以配置多个的

sites:

- map: www.myblog.io

to: /home/vagrant/Code/open/myblog/public

- map: www.mylaravelblog.app

to: /home/vagrant/Code/mywork/blogTutorial/public

- map: news.xx-china.org

to : /home/vagrant/Code/open/news.xx-china.org/public

数据库

databases:

- homestead

- testblog

数据库也可以配置多个,这里只是新建数据库的名字,真正的数据表在程序里面指定。

来一个例子

这里假设我们要添加一个invate.test 的网站

添加host文件

创建project

切换到~/Code目录

使用

 composer create-project --prefer-dist laravel/laravel    invate

或者

composer create-project laravel/laravel  invate  --prefer-dist "5.5.*"

启动虚拟机

vagrant up

访问站点

常见 homestead 命令

homestead up 启动

homestead destroy --force 销毁

homestead reload --provision 修改了站点配置,刷新重新加载

homestead box update 更新虚拟机

homestead halt 不销毁,停止

homestead 可以换成vagrant

转载:https://www.jianshu.com/p/61554e721963

homestead的更多相关文章

  1. 本地xdebug调试搭建 Laravel+homestead+phpstorm

    1.在homestead virtual box安装和配置xdebug 先在终端运行vagrant up 和 vagrant ssh,ssh远程到homestead,然后复制以下代码到一个shell文 ...

  2. Laravel [1045] 解决方法 Access denied for user 'homestead'@'localhost'

    这几天学习Laravel框架遇到了数据库方面的问题. PDOException in Connector.php line 55:SQLSTATE[HY000] [1045] Access denie ...

  3. Laravel Homestead安装笔记

    引言: 最近开始学习laravel框架,了解到有个laravel homestead的box,开发起来非常方便快捷,于是就准备开始配置homestead虚拟开发环境了 什么是Homestead 要想学 ...

  4. win10下 homestead 安装

    1.安装VirtualBox 和 Vagrant 2.git或者composer安装 homestead git clone https://github.com/laravel/homestead. ...

  5. homestead注意事项

    1.如何修改php.ini Here is how you grant read/write access to php.ini, modify it, save changes & relo ...

  6. vagrant homestead laravel 编程环境搭建

    这里面其实坑不少的,首先介绍 VirtualBox  虚拟机,windows下安装linux必须用的一个工具 vagrant 封装虚拟机的一个软件,可以设置好系统,安装好软件,什么时候用,直接导入就行 ...

  7. Laravel环境配置之安装Homestead

    laravel requirements: PHP >= 5.5.9   (机器上yum安装的是5.3.3) OpenSSL PHP Extension PDO PHP Extension Mb ...

  8. laravel homestead vagrant box安装使用,问题,及相关命令

    Vagrant is a tool that manages oracle virtual boxes 1.本地下载https://atlas.hashicorp.com/laravel/boxes/ ...

  9. 同时存在两个或多个homestead 虚拟box

    开发中发现,不同版本的homestead 里面的环境各不相同,里面的node,npm等版本都不一致,如果需要添加 不同版本的homestead同时存在可以按照以下办法处理. tips: 提供可以离线下 ...

  10. Laravel Homestead安装教程

    1/先在https://www.vagrantup.com  下载vagrantup ,对应平台下载,并安装,安装后可以在命令行使用vagrant https://www.vagrantup.com/ ...

随机推荐

  1. java中存储mysql数据库时间类型【date、time、datetime、timestamp】

    在MySQL中对于时间的存储自己见表的时候都是设置的varchar类型的,感觉挺方便的. 昨天拿别人建好的表写代码,发现这张表中时间类型为datetime的,凭感觉试了一下不行,网上查了刚开始试了好几 ...

  2. Mobileye独创性创新

    Mobileye独创性创新 尽管存在相似之处,但Nvidia的SFF无法与Mobileye的RSS相匹配,后者是领先的AV安全模型 迈向无人驾驶的未来,Mobileye继续以新的创新引领行业,不仅将使 ...

  3. NVIDIA Turing Architecture架构设计(下)

    NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...

  4. 如何保证Qt状态机的最佳性能

    如何保证Qt状态机的最佳性能 How to ensure the best Qt state machine performance 如果您使用Qt进行应用程序开发,并且使用状态机,那么很可能您正在使 ...

  5. pytest 给用例打标签

    1.给用例添加自定义标签命令:@pytest.mark.tagname     #tagname是自定义的标签名 import pytest class TestClass(): @pytest.ma ...

  6. 【NX二次开发】体消参,移除体参数UF_MODL_delete_body_parms()

    例子: 源码: extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); tag_t ...

  7. centos7安装JDK、CentOS

    1.安装JDK 1.1查看系统是否已有自带的JDK rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 1.2卸载已有安装 如果没有输出信息, ...

  8. [源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer

    [源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer 目录 [源码解析] 深度学习分布式训练框架 horovod (7) --- Distri ...

  9. js关于数组的操作(合并数组、添加数组、循环等)

    1. concat() 方法 concat() 方法用于连接两个或多个数组 var arr = new Array(3) arr[0] = "George" arr[1] = &q ...

  10. es6快速入门 系列 - async

    其他章节请看: es6 快速入门 系列 async 前文我们已经知道 promise 是一种异步编程的选择.而 async 是一种用于执行异步任务更简单的语法. Tip:建议学完 Promise 在看 ...