legend3---Laravel Homestead的安装和使用

一、总结

一句话总结:

配置好homestead之后编码非常方便:在虚拟机或者外部机器里面操作代码两者都会同时改变。

1、Homestead是什么?

封装好了操作系统和php开发运行所需:有点类似于docker,封装好了操作系统和php开发运行所需要的各种东西

Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!
Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。

2、Vagrant是什么?

虚拟机运行环境管理工具:Vagrant是构建在 虚拟化技术之上 的 虚拟机运行环境管理工具

3、windows下的~目录的位置是什么?

用户目录:~/.ssh等于/c/Users/Fan Renyi/.ssh

4、homestead的关闭命令和重启命令?

vagrant halt:关闭虚拟机
vagrant reload:重启虚拟机

5、homestead如何退出虚拟机?

exit命令即可

6、homestead查看php版本、nginx版本?

php -v
nginx -v

7、homestead如何进入虚拟机?

vagrant ssh

8、homestead中mysql中默认的账号密码是多少?

账号为homestead,密码为secret:mysql -u homestead -psecret

二、Laravel Homestead的安装和使用(解决踩坑篇)

转自或参考:Laravel Homestead的安装和使用(解决踩坑篇)
https://blog.csdn.net/woqianduo/article/details/81091154

Homestead是什么

Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!
Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。
Vagrant是构建在 虚拟化技术之上 的 虚拟机运行环境管理工具

安装

安装vagrant和 VirtualBox、git版本控制器、composer

Git、Virtualbox和Vagrant 安装此处就省略了,把文件下载下来,就一直下一步就好,vagrant安装完成会提示重启电脑,重启就好。composer安装略微复杂一些,之后会在别的博客补充,好,准备条件已经准备好了,下班我们开始进入正题吧,安装Homestead

安装Homestead

我的Vagrant 安装目录选择在 D:/vagrant
1.打开Git Bash 进入D: /Vagrant

cd D:
cd Vagrant

2.1 添加Homestead Vagrant Box 到 Vagrant (无本地box文件)

vagrant box add laravel/homestead

1.如果报错请使用vagrant2.0以上版本,就去官网下载最新版本就好
2.这一步会下载特别慢,你可以使用下载好的BOX文件,在上班百度云盘中有,可以下载
3.如果vagrant 命令未找到,需重启git bash 或重启电脑 (你之前安装过vagrant)

2.2 homestead Vagrant Box 到 Vagrant (有本地box文件,本地文件位置在D:/vagrant/homestead-virtualbox-0.6.0.box)

vagrant box add laravel/homestead homestead-virtualbox-0.6.0.box

2.3 查看是否添加成功

vagrant box list

返回内容如下说明添加成功

mingming@DESKTOP-BIJMDOV MINGW64 /d/Vagrant
$ vagrant box list
laravel/homestead (virtualbox, 6.1.0)

3.克隆 Laravel Homestead 仓库到 D:/vagrant/homestead

git clone https://github.com/laravel/homestead.git
cd homestead

4.#执行 init.sh(生成Homestead.yaml文件)

bash init.sh

5.创建本地工作目录

cd ..

所以项目,存放在这个vagrant目录下,一会我们会这个这个目录为homestead的共享文件目录
6.安装 laravel

composer create-project laravel/laravel laravel --prefer-dist 5.4.*

7.配置秘钥

cd ~/.ssh
ls

查看是否存在id_rsa和id_rsa.pub连个文件,如果有就不用,再生产,如果没有执行如下命令

ssh-keygen -t rsa -C "you@homestead.com

私钥秘钥配置还有不明白可以查看:https://blog.csdn.net/woqianduo/article/details/81074184
8.#配置Homestead.yaml 文件 (我的文件在D:/vagrant/homestead目录下);

本文件地址在你clone的位置,有好多博客会写在C盘下,不一定,可根据自己需求自己定义位置,**git clone https://github.com/laravel/homestead.git**这条命令觉得Homestead.yaml文件位置

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Code
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local

修改为

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys:
- ~/.ssh/id_rsa
folders:
- map: D:/Vagrant
to: /home/vagrant sites:
- map: api.homestead.com
to: /home/vagrant/laravel/public databases:
- homestead

1.正常情况下,我们配置Vagrantfile,我们配置homestead是因为作者给我们配置好了,我们只需要填充参数即可
2.ip: 虚拟机的ip地址,如果window下,本地电脑也是192.168.10.* ip段,这个时候,再填写192.168.10.10就会报错,解决方案:192.168.11.10即可解决
3.authorize、keys分别代表私钥和公钥,如果使用homestead必须配置秘钥,公钥
4.folders:共享文件目录,map代表window环境,to:同步homestead文件位置
5.sites:NGINX配置文件,map代表域名,to:指向目录域名指向文件位置

8.配置windows hosts 文件
打开 C:/Windows/System32/drivers/etc/host 添加

192.168.10.10   api.homestead.com

9 . 如果使用本地box文件安装,需要找到homestead\scripts\文件夹中,打开homestead.rb文件

config.vm.box_version = settings["version"] ||= ">= 0"

10.启动虚拟机

cd d:/homestead
vagrant up

最后测试一下 访问 http://api.homestead.com成功 即安装完成

补充操作

  1. 进入虚拟机
vagrant ssh

2.登录mysql 密码为secret (查看mysql版本是否为自己想要的)

mysql -u homestead -p

3.查看php版本、nginx版本

php -v
nginx -v

补充内容(vagrant常用命令)

命令 解释
vagrant box list 查看目前已有的box
vagrant box add 新增加一个box
vagrant box remove 删除指定box
vagrant init 初始化配置vagrantfile
vagrant up 启动虚拟机
vagrant ssh ssh登录虚拟机
vagrant suspend 挂起虚拟机
vagrant reload 重启虚拟机
vagrant halt 关闭虚拟机
vagrant status 查看虚拟机状态
vagrant destroy 删除虚拟机
 

legend3---Laravel Homestead的安装和使用的更多相关文章

  1. 练习Laravel Homestead的安装

    1 安装VirtualBox和Vagrant 在启动Homestead环境之前,你必须安装VirtualBox(https://www.virtualbox.org/wiki/Downloads)和V ...

  2. Laravel Homestead 离线安装

    一.写在之前,网络不够快想要安装Homestead,也是一个浩大的工程,对于下载一个 1.22G左右的 laravel/homestead box 也是非常的麻烦.那么如何才能离线安装呢? 接着往下看 ...

  3. Laravel Homestead的安装和使用(照搬)

    原文:https://blog.csdn.net/woqianduo/article/details/81091154/ 1.简介 1.1.Homestead是什么 Laravel Homestead ...

  4. laravel本地开发环境的安装及配置 - Windows:安装 Laravel Homestead 虚拟机

    一.安装 VirtualBox-5.2.22-126460-Win.exe 和 vagrant_2.2.2_x86_64.msi(可视化安装包安装); 安装在D盘 二.导入 Homestead Vag ...

  5. Laravel Homestead 安装 使用教程详解!

    1 Laravel Homestead 1 安装: 1 下载: http://www.vagrantup.com/downloads.html 1 配置: 1 1 测试: 1 1 ********** ...

  6. Laravel Homestead安装笔记

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

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

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

  8. Laravel Homestead安装教程

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

  9. 解决安装laravel/homestead vagrant环境报"A VirtualBox machine with the name 'homestead' already exists."的错误

    之前在mac上安装laravel/homestead vagrant虚拟机环境时由于参照的教程是: 每次都必须在~/Homestead目录下边运行vagrant up/halt命令,觉得实在是不方便, ...

随机推荐

  1. 090、ELK完成部署和使用 (2019-05-13 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7787870.html   上节我们已经部署了容器化的ELK,本节我们学习如何将日志导入ELK并进行图形化展示.   几乎 ...

  2. scrapy中间件之随机user-agent

    import random class UserAgentMiddleware(object): def __init__(self): self.user_agent_list = [ " ...

  3. mysql面试题练习01

    1.数学函数 有如下表和数组 把num值处于[20,29]之间,改为20 num值处于[30,39]之间的,改为30 ) ; 2.字符串 把good表中商品名为'诺基亚xxxx'的商品,改为'HTCx ...

  4. ACM常用之 异或运算的性质。

  5. 关于PHP://input

    $data = file_get_contents("php://input");    php://input 是个可以访问请求的原始数据的只读流. POST 请求的情况下,最好 ...

  6. 枚举类enum应用以及注解@transient应用

    1.增加枚举类 public enum RightTypeEnum { AUTHORITY("访问权限") private String type; RightTypeEnum(S ...

  7. Python之网路编程之-互斥锁与进程间的通信(IPC)及生产者消费者模型

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  8. vue interceptors(拦截器)

    拦截器 顾名思义: 就是半路个您劫持, 拦截器 其实在项目和自己写demo中,总会遇到请求方面需要在请求头里面做判断或者添加一些东西, 这时候 vue 中应用中axios的 interceptors  ...

  9. JAVA笔记17-容器之一 图、Collection接口、Iterator接口(重要)

    掌握1136: (1)1个图 (2)1个类:Collections (3)3个知识点:For(了解),Generic泛型,Auto-boxing/unboxing(自动打包/解包) (4)6个接口:C ...

  10. 对JavaScript 引擎基础:原型优化的研究 -----------------------引用

    一.优化层级与执行效率的取舍 介绍了现代 JavaScript 引擎通用的工作流程: 我们也指出,尽管从高级抽象层面来看,引擎之间的处理流程都很相似,但他们在优化流程上通常都存在差异.为什么呢?为什么 ...