Laravel5.5 的 Homestead 开发环境部署
首先明白以下几个概念
VirtualBox -- Oracle 公司的虚拟机软件, 能运行在当前大部分流行的系统上;
Vagrant 提供一种命令行接口, 允许自动化安装虚拟机, 并且因为是脚本编写成的 provision
文本文件, 给共享虚拟机配置提供了可能, Homestead 正是构建在 Vagrant 之上;
Laravel Homestead 是官方预封装的一个 Vagrant Box,它是一台虚拟机的原型, 用来快速生产一个配置完整的服务器虚拟机, 运行在 VirtualBox 上.
Homestead 包括以下两个东西
1、一个 vagrant box 虚拟机, 里面软件什么都下载好了;
2、Github 代码库, 里面装载着 vagrant 的配置脚本, 用来自动化配置网络, 端口映射, 等一些开发时候用到的配置;
Homestead 能运行在所有的Windows、Mac和Linux上,它包含了Nginx、PHP7.1、MySQL、Redis、Memcached和你开发 Laravel应用程序需要的所有其它软件。
简而言之就是使用 vagrant 将 laravel Homestead 环境安装在 VirtualBox 上,本地的项目目录与虚拟机的项目目录实时同步,从而可以实现 windows 上的 linux 开发
下面是安装步骤:
1、安装 virtualbox 和 vagrant
下载并安装 VirtualBox , Vagrant ,点击下一步安装,其间会要求重启电脑。
2、下载并配置 Homestead
在终端使用下面的命令将 laravel/homestead
Box 添加到 Vagrant 中安装
vagrant box add laravel/homestead
速度很慢,大概在一个小时左右
进入项目目录,假设在E盘下的 code 目录,在命令行敲下命令:
git clone https://github.com/laravel/homestead.git Homestead
由于 Homestead 的 master
分支并不是稳定分支,你应该用打过标签的稳定版本
cd Homestead git checkout v6.1.0
克隆 Homestead 代码库后,从 Homestead 目录中运行 init.bat命令来创建 Homesstead.yaml
配置文件。 Homesstead.yaml
文件会被放置在你的 Homestead 目录中:
// Windows...
init.bat // Mac / Linux...
bash init.sh
3、配置 Homestead
打开 Homestead.yaml 文件,如下
主要改共享文件夹的 map 和站点配置 map
配置共享文件夹
map对应本地laravel项目所在的目录
配置 Nginx 站点
站点配置为项目的域名,如test.app
4、修改hosts
192.168.10.10 test.app
5、在code目录,使用composer下载最新的laravel5.5,这里的项目名与共享文件夹的 map对应
composer create-project --prefer-dist laravel/laravel code
6、启动 Vagrant Box
从 Homestead 目录运行 vagrant up
命令。Vagrant 将启动虚拟机并自动配置你的共享文件夹和 Nginx 站点。
7、浏览器访问 test.app
至此, 成功安装.
ssh连接虚拟机连接信息: IP:127.0.0.1
端口号:2222
用户名:vagrant
密码:vagrant 数据库连接信息:
IP:127.0.0.1
端口号:33060
用户名:homestead
密码:secret 问题汇总:
1、如果出现谷歌浏览器访问不了域名的情况
解决办法:将域名后缀改为test或者com等,不要使用app
修改配置文件以后使用vagrant reload --provision重启 2、如果你遇到vagrant up
后卡在SSH auth method: private key
的情况,你可以参照:homestead安装问题汇总
最新文章
- 一种简单的CQRS架构设计及其实现
- faster with MyISAM tables than with InnoDB or NDB tables
- 由ArrayList构造函数源码引出的问题
- [驱动]内核添加USB转串口驱动支持
- 就这样获取文件的MD5和大小
- 读书笔记——OpenGL超级宝典
- CentOS6.5的openssl升级
- 1064. Complete Binary Search Tree
- Golden Pyramid
- FAT16文件系统简介
- 关于set和map的用法
- map中结构体做关键字的注意事项
- [笔记]cin、cout与scanf、printf的效率差异对比分析
- Java 面试宝典
- java-环境变量的配置
- ActiveMQ消息的发送原理
- bzoj4195(并查集+离散化)
- mysql 5.7 离线安装
- javascript ---->; Immediately-Invoked Function Expression (IIFE)(翻译)
- tomcat的一次请求过程
热门文章
- PHP与REDIS
- windows下查看端口占用情况及关闭相应的进程
- 移动端的一些常用meta标签
- maven 打包Could not resolve dependencies for project和无效的目标发行版: 1.8
- 部署github开源软件遇到的问题
- Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块
- 一起学Linux01之环境安装
- php一篇入门
- mac上使用appium连接真机问题
- 如何在Spring框架上做开发之Context启动中的“Hook”