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安装问题汇总
Laravel5.5 的 Homestead 开发环境部署的更多相关文章
- Laravel 的 Homestead 开发环境部署
---恢复内容开始--- Laravel 努力在整个PHP开发过程中提供令人愉快的开发体验,当然也包括本地的开发环境. 首先明白以下几个概念 VirtualBox -- Oracle 公司的虚拟机软件 ...
- Laravel本地环境搭建:Homestead开发环境的部署
Laravel框架在php开发过程是不断进行优化的,当然也包括了本地环境的开发,下面我们就来具体看看laravel框架中的Homestead 开发环境的部署内容. 首先白以下几个概念 VirtualB ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- 西秦的ACE-Python教程 一、Python本地开发环境部署
西秦的ACE-Python教程 一.Python本地开发环境部署 西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信 只看楼主 更多操作楼主 发表于: 10-10 ...
- 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。
1.在官网下载Struts2的开发包 下载链接如下: http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/ ...
- Electron开发环境部署
Electron开发环境部署 安装node.js 可以从node.js官方网站上获取安装包,并进行安装,安装完可以通过 ndoe -v 指令进行版本查看. 本文的开发环境为node.js 4.4.5. ...
- linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署
CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...
- eclipse+hbase开发环境部署
一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...
- Linux——Django 开发环境部署(二)python版本控制器pyenv
python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...
随机推荐
- unity创建和加载AssetBundle
先说一下为什么要使用AssetBundle吧,以前做东西一直忽略这个问题,现在认为这个步骤很重要,代码是次要的,决策和为什么这样搞才是关键. 一句话概括吧,AssetBundle实现了资源与服务分离, ...
- 字符串匹配KMP算法的C语言实现
字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD" ...
- Netty之心跳检测技术(四)
Netty之心跳检测技术(四) 一.简介 "心跳"听起来感觉很牛X的样子,其实只是一种检测端到端连接状态的技术.举个简单的"栗子",现有A.B两端已经互相连接, ...
- linux系统编程快速定位头文件的技巧之强大的grep命令
这个技巧来自于我的实际开发碰到的: inet_addr这个函数用于把ip地址转成网络字节序,他的原型:in_addr_t inet_addr(const char *cp); 返回值为一个in_add ...
- Celery(三)实例Application
Celery必须实例化后才可以使用,实例称之为application或者简称app.实例是线程安全的,多个Celery实例(不同的配置.部件和任务)都可以在一个进程空间中运行. 创建一个最简单的app ...
- TurnipBit口袋编程计算机:和孩子一起DIY许愿的流星
听说对着流星许愿,许的愿望都会实现,虽然不知道这个说法是不是真的,但是流星还是很好看的,为了能一直看到流星,今天就自己做一个流星保存下来,想什么时候看,就什么时候看. 首先需要想象一下流星是什么样子的 ...
- 基于TCP协议的项目架构之Socket流传输的实现
项目背景 某银行的影像平台由于使用时间长,服务器等配置原因,老影像系统满足不了现在日益增长的数据量的需求,所以急需要升级改造.传统的影像平台使用的是Oracle数据库和简单的架构来存储数据(视频.图 ...
- 6年后的第一篇博客:进入java的精彩世界
10的.NET从业经验,也算资深人士了. 2018开始,正式进入JAVA的世界. 为什么说正式?因为已经附带有几年ANDROID经验了,确切的说,是正式进入JAVA服务器端. 没有任何人要求,纯粹是个 ...
- UML中类图的一些基本知识
一.类 类(class)封装了数据和行为,是面向对象的重要组成部分,他是具有相同操作.属性.关系的对象集合的总称. 在软件运行时,类被实例化成对象(object),对象对应某个具体的事物,是类的实例( ...
- Scala之String
一.前言 大数据领域的Spark.Kafka.Summingbird等都是由Scala语言编写而成,相比Java而言,Scala更精炼.由于笔者从事大数据相关的工作,所以有必要好好学习Scala语言, ...