Laravel 的 Homestead 开发环境部署
---恢复内容开始---
Laravel 努力在整个PHP开发过程中提供令人愉快的开发体验,当然也包括本地的开发环境。
首先明白以下几个概念
- VirtualBox -- Oracle 公司的虚拟机软件, 能运行在当前大部分流行的系统上;
- Vagrant 提供一种命令行接口, 允许自动化安装虚拟机, 并且因为是脚本编写成的
provision
文本文件, 给共享虚拟机配置提供了可能, Homestead 正是构建在 Vagrant 之上; - Laravel Homestead 是官方预封装的一个 Vagrant Box,它是一台虚拟机的原型, 用来快速生产一个配置完整的服务器虚拟机, 运行在 VirtualBox 上.
Homestead 生产出来的虚拟机提供了一个完整的开发环境, 有了这个环境, 就不用再担心各种软件的设置会搞乱你的操作系统啦.
因为是虚拟机, 出现故障的时候, 可以在几分种内完成销毁和重建.
Homestead 能运行在所有的Windows、Mac和Linux上,它包含了Nginx、PHP 5.5、MySQL、Postgres、Redis、Memcached和你开发 Laravel应用程序需要的所有其它软件。
在多人协同开的情况下, Homestead 能用来统一开发环境, 让程序员把精力更集中的放在程序业务逻辑上, 免去了各种因为开发环境不一样而造成的混乱.
约定
假设我们要开发一个项目, 项目的名字叫 mytwitter
.
首先在我们存放代码的地方 code
文件夹里面创建项目根文件夹 mytwitter_project
, 接下来咱们的操作都在此项目下进行
cd ~/code
mkdir mytwitter_project
cd mytwitter_project
安装 virtualbox 和 vagrant
在这里下载并安装 VirtualBox , Vagrant .
直接下载 GUI 安装包安装就行.
下载并配置 Homestead
Homestead 包括以下两个东西
- 一个 vagrant box 虚拟机, 里面软件什么都下载好了;
- Github 代码库, 里面装载着 vagrant 的配置脚本, 用来自动化配置网络, 端口映射, 等一些开发时候用到的配置
克隆 homestead 项目
在文件夹下克隆 homestead 项目到本地
git clone https://github.com/laravel/homestead.git Homestead
加入 homestead box
执行以下命令添加 box
vagrant box add laravel/homestead
在线下载会很慢一般用迅
可以下载最新的box文件
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.5.0 //新版本地址
下载后执行以下命令, 修改 /path/to/virtualbox.box
为正确的 path.
vagrant box add laravel/homestead /path/to/virtualbox.box
windows中执行如下命令
vagrant box add laravel/homestead file:///D:/download/virtubox.box
修改 homestead 的配置
根据你的情况修改 Homestead 项目里面文件 Homestead.yaml , 类似以下
---
ip: "192.168.10.10"
memory:
cpus: authorize: /Users/me/.ssh/id_rsa.pub keys:
- /Users/me/.ssh/id_rsa folders:
- map: /Users/me/code/mytwitter_project/mytwitter
to: /home/vagrant/mytwitter sites:
- map: mytwitter.app
to: /home/vagrant/mytwitter/public variables:
- key: APP_ENV
value: local
配置 hosts 文件
修改本机的 hosts 文件, 允许通过自定义域名访问, 这个域名是在上面的 Homestead.yaml
里面设置的.
sudo vi /etc/hosts
添加以下一行
127.0.0.1 mytwitter.app
初始化 homestead 虚拟机
cd Homestead
vagrant up
注意:要删除homestead目录下的 Vagrantfile 文件重新生成使用命令:vagrant init生成。
然后在启动
vagrant up
生成启动后看提示信息。
最后测试是否能成功连接, 虚拟机里的 ~/mytwitter
文件夹里的文件和本地的文件是一致的.
vagrant ssh
cd ~/mytwitter
ll
浏览器访问 http://mytwitter.app:8000/ .
至此, 成功安装.
Laravel 的 Homestead 开发环境部署的更多相关文章
- Laravel5.5 的 Homestead 开发环境部署
首先明白以下几个概念 VirtualBox -- Oracle 公司的虚拟机软件, 能运行在当前大部分流行的系统上; Vagrant 提供一种命令行接口, 允许自动化安装虚拟机, 并且因为是脚本编写 ...
- Laravel本地环境搭建:Homestead开发环境的部署
Laravel框架在php开发过程是不断进行优化的,当然也包括了本地环境的开发,下面我们就来具体看看laravel框架中的Homestead 开发环境的部署内容. 首先白以下几个概念 VirtualB ...
- legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)
legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead) 一.总结 一句话总结: 1.安装的话就是下载好git,va ...
- 一个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 ...
随机推荐
- pycharm-2018.1.6永久激活(本人使用的是centos7)
1. 从官网下载pycharm-2018.1.6, 下的是PyCharm Professional Edition版本的 (水平有限版本太高,激活不了) pycharm官网: https://www. ...
- BZOJ.1430.小猴打架(Prufer)
题目链接 猴子之间的打架是棵无根树,有\(n^{n-2}\)种可能:同时n-1个过程的排列是\((n-1)!\) //820kb 104ms #include <cstdio> const ...
- POJ.1743.Musical Theme(后缀数组 倍增 二分 / 后缀自动机)
题目链接 \(Description\) 给定一段数字序列(Ai∈[1,88]),求最长的两个子序列满足: 1.长度至少为5 2.一个子序列可以通过全部加或减同一个数来变成另一个子序列 3.两个子序列 ...
- BZOJ4261 : 建设游乐场
将图黑白染色,每个点拆成两个点,分别表示水平和竖直方向,再增加一个点以控制流量,那么每个格子都需要找两个方向去连接. $S$到每个黑点的控制点连边,流量$2$,费用$0$: 控制点向两个方向的点各连两 ...
- 47. 全排列 II
47. 全排列 II 题意 给定一个可包含重复数字的序列,返回所有不重复的全排列. 示例: 输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 解题思路 去重的全排列 ...
- iOS CrashLog Analysis
链接: iOS友盟崩溃日志定位代码 [友盟统计报表解读]之错误分析iOS版 DYSMTool Download Address 利用友盟和dsym分析发布app用户错误 iOS -- 友盟工具进行Cr ...
- IAAS、SAAS 和 PAAS 的区别、理解
通俗的讲: 如果你是一个网站站长,想要建立一个网站.不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序.现在你追随潮流,采用流行的云计算,如果你采用IaaS服务,那么意味着你就 ...
- TThread深入分析
Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是 对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synch ...
- 这可能是最好的RxJava 2.x 入门教程(一)
这可能是最好的 RxJava 2.x 入门教程系列专栏 文章链接: 这可能是最好的 RxJava 2.x 入门教程(完结版)[重磅推出] 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最 ...
- HTML5新特性[ Notifications ] 桌面消息
在执行完以上代码后,我们就成功地创建了一个消息框实例,在Chrome下面它最终会显示成这样: 到这里我们已经成功了一半,但能不能正确地显示出这个消息框,最终还取决于用户的授权.鉴于浏览器的安全机制,只 ...