Homestead 集成开发环境配置
来源:http://blog.csdn.net/markely/article/details/49585887
Laravel的目的就是让开发者的开发体验更愉快,开发过程更加简单。在环境搭建上也是如此。
Laravel homestead是一个官方发布的vagrant封装包——一个虚拟机——提供完备的开发环境。在homestead配置完成后,不需要在本地环境中配置任何的开发工具,vagrant可以搞定一切。因为是虚拟机,不会对本地系统产生任何的破坏。同时如果出现故障,可以在几分钟内销毁并重建虚拟机。
homestead是跨平台的,可以在windows,Linux,Mac上运行,其中集成了nginx,php5.6,MySQL,postgres,Redis,Memcached,HHVM等所有开发laravel所需的软件。
本文档是针对windows环境下homestead的配置运行。
1. 本地环境设置
1.1 php
运行composer必须要有PHP,建议使用最新版本的发行版php,目前最新版本5.6.8。php windows版本分为32位和64位的,64位目前仍处于试验阶段,我们选择稳定的32位版本。其中又分为thread safe和not thread safe版本,在web开发中我们选择not thread safe版本,点击这里下载。
注意 php windows版本使用VC11编译,系统需要有Visual C++ Redistributable for Visual Studio 2012 x86 or x64,如果系统没有安装这个包,请点击这里下载安装。
(1) 下载压缩包解压到C盘根目录
(2) 配置环境变量,添加C:\php-5.6.8-nts-Win32-VC11-x86到PATH。
(3) 修改php配置。拷贝php.ini-development 为php.ini。去extension=php_openssl.dll
(composer需要) extension=php_mbstring.dll
(laravel需要)前的注释。找到; extension_dir = "ext"
,修改为extension_dir = "C:\php-5.6.8-nts-Win32-VC11-x86\ext"
。
(4)打开console,运行php -version
确认php安装成功。
C:\>php -version
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:05)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
1.2 composer
点击这里下载。
安装完成后,打开console,运行composer --version
确认安装成功。
C:\>composer --version
Composer version 1.0-dev (bc45d9185513575434021527d7756420e9f4b2cf) 2015-05-11 14:49:39
安装后在目录地址栏输入%AppData%回车找到C:\Users\Administrator\AppData\Roaming\Composer\vendor\bin目录添加到 PATH 环境变量中;
composer默认会从·http://packagist.org/· 下载依赖包,速度比较慢,可以采用国内的镜像包来替代源。
composer的全局配置文件位于 C:\Users\Administrator\AppData\Roaming\Composer\composer.json
,两个速度比较快的可选的源配置如下
- {
- "repositories":[
- {
- "type":"composer",
- "url":"https://toran.reimu.io/repo/packagist/"
- },
- {
- "packagist":false
- }
- ]
- }
或者
- {
- "repositories": [
- {
- "type": "composer",
- "url": "http://comproxy.cn/repo/packagist"
- },
- {
- "packagist": false
- }
- ]
- }
在开发laravel项目时,也可以在当前项目的composer.json文件中添加这些国内镜像,可以加快对包的更新
1.3 putty
putty是免费的ssh客户端,登录homestead虚拟机的利器。
点击这里下载。
注意 如果不使用putty登录,用homestead ssh登录,也可以。
2. Homestead 相关软件安装
2.1 vagrant
vagrant是一个虚拟机管理工具。在添加虚拟机后,可以启动虚拟机的镜像,如果出现错误,可以随时销毁重建开发环境。
C:\>vagrant --version
Vagrant 1.7.2
2.2 virtualbox
2.3 homestead
composer global require "laravel/homestead=~2.0"
homestead将会被安装在C:\Users\Administrator\AppData\Roaming\Composer\vendor\laravel\homestead
2.3.2 你可以简单地通过手动复制资源库的方式来安装 Homestead。将资源库复制至你的 "home" 目录中的Homestead
文件夹,如此一来
Homestead 封装包将能提供主机服务给你所有的 Laravel(及 PHP)应用:
Git clone https://github.com/laravel/homestead.git Homestead
一旦你克隆完 Homestead 仓库,从 Homestead 目录中执行bash init.sh
命令来创建Homestead.yaml
配置文件:
此Homestead.yaml
文件,将会被放置在你的~/.homestead
目录中。
2.4 Git
3. 环境启动
3.1 使用vagrant添加homestead镜像文件
离线下载虚拟机box,把box保存到任意目录,我这里放在d:/homesteadbox;
命令行:进入d:/homesteadbox,添加box
vagrant box add laravel/homestead file:///d:/homesteadbox/virtualbox.box
3.2 生成rsa key
打开Git Bash,这是一个比较完备的Windows下的shell工具。在运行homestead的命令的时候都需要在这个bash中运行。
ssh-keygen.exe -t rsa -C "xxx@163.com"
3.3 配置并启动homestead
homestead init
生成homestead的配置文件,位于C:\Users\Administrator\.homestead\Homestead.yaml
homestead edit
使用编辑器打开创建的配置文件。
---
# 虚拟机配置。
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:- ~/.ssh/id_rsa# 共享文件夹配置,map是本地文件夹,此处修改为本地项目文件夹;to是虚拟机的文件夹,一般不需要修改,因为homestead中的nginx的配置也是如此。
folders:- map: ~/Codeto: /home/vagrant/Code# nginx的配置。需要在本地hosts中添加域名的解析。
sites:- map: homestead.appto: /home/vagrant/Code/public# mysql的数据库配置
databases:- homestead# 这个不知道是干什么用的,猜测是环境变量设置。
variables:- key: APP_ENVvalue: local
启动homestead
homestead up
报错一:Couldn't open file /Users/Administrator/AppData/Roaming/Composer/vendor/laravel/homestead/base
原因:Users/Administrator/Vagrantfile这个文件中的 config.vm.box = "base"配置需要改为config.vm.box = "laravel/homestead"
修正后,再次 homestead up
3.4 登录说明
登录主要包括ssh的登录和mysql的登录。
3.4.1 ssh登录
homestead ssh
我这里在使用homestead ssh
时,总是会出现屏幕卡死的情况,推荐使用putty登录。
初始用户名密码 vagrant / vagrant
3.4 2 mysql密码
homestead / secret
root / secret
3.5 增加新的网站
方法一
在homestead.yaml中添加站点配置。
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
- map: admin.phenix.app
to: /home/vagrant/Code/admin/public
- map: web.phenix.app
to: /home/vagrant/Code/web/public
- map: api.phenix.app
to: /home/vagrant/Code/api/public
- map: user.phenix.app
to: /home/vagrant/Code/user/public
然后再homestead目录执行命令vagrant provision。
vagrant provision这个命令是有破坏性的,它会重新构建数据库方法二
ssh登录homestead的系统中,进入serve.sh文件的目录中,执行serve命令。- serve domain.app /home/vagrant/Code/path/to/public/directory 80
注意:在0.27版本的virtualbox.box中使用serve-laravel.sh
4. 命令详解
4.1 homestead命令
命令 | 解释 |
---|---|
up | 启动homestead |
halt | 停止homestead |
init | 创建初始化的homestead.yaml |
edit | 编辑homestead.yaml |
suspend | 挂起homestead |
resume | 继续挂起的homestead |
ssh | 通过ssh登录homestead |
run | 通过ssh在homestead上运行命令 |
status | 获取homestead的状态 |
list | 列表命令 |
help | 显示命令的帮助 |
provision | 重新配置homestead |
destory | 销毁homestead |
update | 更新homestead镜像 |
Homestead 集成开发环境配置相关推荐
- Day001--Scala中的下载安装配置及下载安装集成开发环境IDEA
老生常谈,我们学习一门语言之初都会先将其所依赖的环境和包安装好,Scala也不例外,只是Scala不能像Java一样,有一个专门来写它的IDE(eclipse),但我们可以在IDEA(集成开发环境)上 ...
- lua游戏脚本开发之叉叉集成开发环境使用教程与配置【如何连接模拟器】
第一步:开发助手+叉叉集成环境下载安装:http://dev.xxzhushou.cn/download.html 第二步:安卓模拟器安装[官方推荐雷电---但是海马也不错] 雷电模拟器配置: 海马玩 ...
- STM32集成开发环境 STM32CubeIDE 安装与配置指南
STM32集成开发环境 STM32CubeIDE 安装与配置指南 Start With STM32CubeIDE 前言 一.IDE下载 源文件下载 安装步骤 二.界面汉化 牵引信标 开始跃迁 三.主题 ...
- ADA集成开发环境GNAT-GPS的版本控制配置
ADA集成开发环境GNAT-GPS集成了CVS功能.其基本配置界面如下: 这里对ariane工程(一个新建的ADA库代号,google code地址http://code.google.com/p/a ...
- 安装配置Android Studio集成开发环境详细安装教程
文章目录 一.Android Studio概述 二.下载Android Studio 三.安装Android Studio (一)进入安装向导 (二)选择安装组件 (三)选择安装位置 (四)选择开始菜 ...
- 让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 [文章摘要] Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发 ...
- Laravel安装及环境的配置(XAMPP集成开发环境下)
Laravel 使用 Composer 来管理代码依赖.所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer. 操作系统为win7: 集成开发环境XAMPP: 第一步:安装C ...
- 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 基于Eclipse的TI集成开发环境IDE-CCSv5使用教程
TI嵌入式处理器的集成开发环境(IDE)包括调试器,编译器,编辑器,DSP/BIOS操作系统等等,现在最新的CCSv5 IDE基于Eclipse开源软件框架(v4+)并融合了TI设备的支持与功能,适用 ...
最新文章
- 如何把pdf转换为txt文档,pdf转txt的好方法
- doublevalue_Java Double类doubleValue()方法与示例
- ajax应用_AJAX的应用
- python requests 示例_Python3中requests库学习01(常见请求示例)
- 在64位操作系统上使用FlashDevelop的Debug功能
- 树莓派Pico 开机自动运行程序
- 斐讯路由做php,斐讯K2路由双WiFi网速叠加教程
- 一个MySQL优化案例的初步思路(r8笔记第87天)
- sqlserver 无法远程连接到服务器,解决SQLServer远程连接失败的问题
- 如何优化ASO让app在苹果上获得更多量
- Vanishing Point Detection 消影点/消失点/灭点检测代码学习整理笔记
- 矩阵分析 (二) 内积空间
- 三分钟教会你微信炸一炸,满屏粑粑也太可爱了!
- 数据库方言(Dialect)
- 两化融合贯标是指什么
- Python中的*使用
- html绘制城堡,怎么画城堡-好看又简单的城堡简笔画
- 句子类型 - 独立主格结构
- php 发微博实例,基于PHP实现发微博动态代码实例
- 自己喜欢的事情要不要去追求
热门文章
- Spark查找某个IP的归属地,二分算法,try{}catch{}的使用,将结果存MySQL数据库
- STL之stack,queue,优先队列
- ActionContext_、ValueStack、Stack_Context关系
- Kettle使用_18 分组组件计算百分位数
- Kettle使用_4 Excel批量数据输入
- 力扣:11盛水最多的容器
- 网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现
- JDK中的Atomic包中的类及使用
- squid 日志详解
- Xcode6.3 怎样使用Leaks查看内存泄露