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 ...
随机推荐
- 一款易搭建,运行快的Git服务器:Gitea安装教程
说明:Gitea是从Gogs发展而来,同样的拥有极易安装,运行快速的特点,而且更新比Gogs频繁很多,维护的人也多,个人认为Gitea还是更好一些的,这里就说下安装方法. 截图 简介 Gitea是一个 ...
- window10 还原精灵 破解版 冰点
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha=======
- 2016年3月3日android实习笔记
1: android自定义控件时,通常需要重写父类构造函数.这三个够找函数具体啥时调用? public View (Context context) 是在java代码创建视图的时候被调用,如果是从xm ...
- react-native ES5与ES6写法对照表
转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...
- ext2文件系统学习(二)—— 目录磁盘结构
创建镜像.mount等操作和上一篇一样,测试目录结构如下: 一些文件系统信息如下: Block size: 1024 Inodes per group: 128 Inode ...
- Using a Virtex Device to Drive 5V CMOS-Level Signals
Must tri-state outputs and use an external resistor to pull up to 5V To drive 5V CMOS-level inputs, ...
- ubuntu 安装SSH并设置免密码登录
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以 cat ./id_rsa.pub >> . ...
- C# System.Collections.Queue
using System; using System.Collections; public class SamplesQueue { public static void Main() { // C ...
- MySql之删除操作
一:删除特定行 DELETE FROM 表名 WHERE 条件: 二:删除所有行 TRUNCATE TABLE 表名; //删除重建一张表
- Python3 笔记
Ubuntu18.04 Python3环境 默认python3已经安装了, 可能是安装其他应用的时候因为依赖关系安装的. 安装pip3, 先sudo apt update 一下, apt-cache ...