iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 开发环境
统一开发环境
为了保证在学习和工作过程中避免因为开发环境不一致而导致各种各样的问题,Laravel 官方为了我们提供了一个完美的开发环境 Laravel Homestead,让我们无需再本地安装 PHP,web 服务器或任何服务软件。
Homestead 可以在任何 Windows、Mac 或 Linux 系统上运行,它包括了 Nginx Web 服务器、PHP 7.1、MySQL、PostgresSQL、Redis、Memcached、Node 以及开发 laravel 应用所需的东西。
Homestead 内置软件:
- Ubuntu 16.04
- Git
- PHP 7.1
- Nginx
- MySQL
- MariaDB
- Sqlite3
- Postgres
- Composer
- Node (带有 Yarn、Bower、Grunt 和 Gulp)
- Redis
- Memcached
- Beanstalkd
- Mailhog
- ngrok
对于初学者相关的软件和知识点可能还不太了解,但是无需担心,在后续的教程中会陆续使用并且会有相应的章节进行详细的讲解。
本次系列教程,我们将使用目前最新的版本 Homestead 5.1.0 + vagrant 2.0.1 + VirtualBox 5.2.6 + Win10 来进行开发环境的搭建。
这套软件环境在 Win7 上也可以正常使用。
相关的软件我们已经整理在百度网盘上,有如下软件:
- Git:对源码进行版本管理。
- TortoiseGit:对于初学者不熟悉命令时,可以使用该可视化工具代理命令来管理源码。
- SourceTreeSetup:图形化 git 管理 + Git Flow 工具
- Xshell:安全的终端管理软件,通过 SSH 来登录 Linux 系统。
- VirtualBox: 虚拟机软件
- Vagrant:创建虚拟化开发环境工具
- homestead-virtualbox5.1.0: Homestead VirtualBox 下的虚拟机文件。
- WinSCP: WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
- Notepad++: 是 Windows操作系统下的一套比较好用文本编辑器,不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
以上软件可在百度网盘上进行下载,链接:https://pan.baidu.com/s/1bqVD5MJ 密码:4lku
建议安装先后顺序:Git->TortoiseGit->Xshell->SourceTreeSetup->VirtualBox->Vagrant->Homestead
除了 Homestead 外,其他软件傻瓜式下一步安装下去即可,一些软件的使用在后续章节也会做相关介绍。
重要说明:因为篇幅有限,文中牵涉的软件暂时不会进行详细的介绍,该文章最终目的是保证初学者按照操作后,能够成功建立开发环境。 Vagrant 的一些常用命令,可以通过 Google 或百度搜索相关文章。
安装 Homestead
需要先安装好 Git,VirtualBox,Vagrant 三个必要软件。
添加 Homestead Box
在C盘下新建 workspace 文件夹,并且把下载好的 homestead-virtualbox5.1.0.box 文件拷贝到该目录下,并且右键选择 Git Bash Here 在当前目录打开命令窗口。
通过 vagrant box add 命令来完成 Homestead box 的添加
$ vagrant --version
# Vagrant 2.0.1 查看 vagrant 版本,表示 vagrant 已经正常安装
$ vagrant box add laravel/homestead homestead-virtualbox5.1.0.box
执行结果如下图所示:
配置 Homestead
执行如下命令:
$ git clone https://github.com/laravel/homestead.git
$ cd homestead
$ bash init.sh
执行结果如下图所示:
执行完成后会生成 Homestead.yaml 文件,使用 Nodepad++ 打开该配置文件,相关配置的作用已经通过 # +文字的方式进行了说明,如下所示:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
# 虚拟机配置,包含了IP地址,内存,cpu,以及驱动类型(virtualbox)
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
# ssh 密钥文件,用来直接登录虚拟主机,后面也会用到此密钥,在后面从 Github 拉取源码时会用到
folders:
- map: ~/code
to: /home/vagrant/code
# 文件映射目录,通过该配置会把 Windows 系统下的文件自动同步到虚拟机上。`~/code` 代表当前系统用户目录下的 `code` 目录,如示例中系统的路径就是`C:\Users\32780\code`,`32780`是当前登录系统的用户名称。
sites:
- map: homestead.test
to: /home/vagrant/code/public
# 站点配置,会自动生成 Laravel 的 nginx 虚拟主机文件。
databases:
- homestead
# 数据库配置,在后续的过程中不是很常用
在最后我们为了实现一个简单的 hello world,请改为如下配置:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:/workspace/code
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code
databases:
- homestead
生成 SSH key
在启动 Homestead 虚拟主机前我们需要生成 SSH key,执行如下命令:
$ ssh-keygen -t rsa -C "xxxxx@xxxxx.com" #请替换成你自己的邮箱
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
启动 Homestead 虚拟主机
执行 vagrant up 前还需要再做一点小改动,才能保证正常启动。
打开 C:\Users\32780\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead 目录
请把 32780 替换成你目前登录 windows 系统的用户名
两个改动:
- 把文件夹
0改成当前 Homestead 的版本号5.1.0 - 添加 metadata_url 文件,内容只添加
https://app.vagrantup.com/laravel/boxes/homestead即可,不要存在任何多余的空格字符。
接下来在 C:\workspace\homestead 目录下执行 vagrant up 启动虚拟主机。
Hello World
添加 index.html
在 C:\workspace\code 目录下添加 index.html 文件,内容只要一个简单的 hello world 即可。创建成功后,文件会自动同步到 Homestead 虚拟主机上。
添加 hosts
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts 文件,添加如下代码:
192.168.10.10 homestead.test
只差一步
浏览器输入 http://homestead.test
Hello Laravel
接下来把 Laravel 部署到虚拟机中去,就跟完成 hello world 一样,会稍微复杂一点点。
下载源码
教程中的示例源码我们放在了 github 上,地址:https://github.com/ibrandcc/a...
在 c:\workspace 目录下右键 Git Bash Here ,打开命令窗口,执行如下代码来 clone 源码。
git clone https://github.com/ibrandcc/api-tutorial-source.git
执行完毕后会多出一个 api-tutorial-source 目录。
配置 Homestead.yaml
新增文件同步目录
在 folders: 下添加如下代码
- map: C:/workspace/api-tutorial-source
to: /mnt/www/api.ibrand.test
把源码目录映射同步到虚拟主机上的 /mnt/www/api.ibrand.test 目录下。
增加虚拟主机
在 sites: 下添加如下代码
- map: api.ibrand.test
to: /mnt/www/api.ibrand.test/public
请注意文件中的空白处必须是空格键打出来的空格,不可用 Tab 键。
添加完成后,Homestead.yaml 文件内容如下:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:/workspace/code
to: /home/vagrant/code
- map: C:/workspace/api-tutorial-source
to: /mnt/www/api.ibrand.test
sites:
- map: homestead.test
to: /home/vagrant/code
- map: api.ibrand.test
to: /mnt/www/api.ibrand.test/public
databases:
- homestead
重载 Homestead.yaml
在更改后,需要通过 vagrant reload --provision 命令重启虚拟主机并且重载 Homestead.yaml 中的配置信息。
配置 Xshell 进入虚拟机
启动之前安装的 Xshell 软件
点击新建,添加新的会话配置
- 名称:homestead
- 主机:192.168.10.10
点击左侧的 用户身份验证,用户名和密码都输入:vagrant
点击确定按钮,保存设置。
点击连接按钮,进行会话连接,第一次连接会弹出如下提示框,选择接受并保存
操作完成后,会成功登入虚拟机,登入成功后执行 sudo bash 命令切换到 root 账号
安装 Laravel
$ cd /mnt/www/api.ibrand.test/
$ composer install
$ cp .env.example .env
$ php artisan key:generate
添加 hosts
用 Nodepad++ 打开 C:\Windows\System32\drivers\etc\hosts 文件,添加如下代码:
192.168.10.10 api.ibrand.test
最后一步
浏览器输入 http://api.ibrand.test
总结
过程稍微有点复杂,但是搭建好这个环境可以避免后续再开发过程中的很多问题,特别是开发完成后部署到生产服务器,几乎是不会有兼容性的问题。这一点在 iBrand 产品各个客户的生产环境上已经得到验证,而且这也是 Laravel 官方推荐的开发方式,所以值得大家去掌握。
对于刚入门的初学者来说可能不会用 vagrant ,也不懂其中的原理,因为篇幅原因没办法对所有的细节说明到位,只需要暂时知道出现的命令的作用和意义,更多的用法可以通过自己的探索去学习掌握,而且后续教程中也会慢慢讲到更多的知识点。
有任何问题欢迎咨询 : )
讨论交流
iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 开发环境的更多相关文章
- Windows下快速搭建安卓开发环境android-studio
Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...
- Windows系统上搭建Clickhouse开发环境
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
- linux(ubuntu)和windows下面快速搭建android开发环境
在windows和linux下面搭建android开发环境,一般要安装以下几个软件: 1.JDK安装 2.Eclipse安装 3.Android SDK安装 4.在eclipse里面安装ADT 5.e ...
- Windows使用virtualenv搭建flask开发环境
virtualenv: VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够: 在没有权限的情况下安装新套件 不同应用可以使用不同 ...
- windows下eclipse搭建android_ndk开发环境
安装cygwin: 由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux ...
- Windows下Qt5搭建Android开发环境笔记
Windows很大的特点是配置使用几乎都可以图形化进行,和Linux比起来在很多时候配置环境也要方便很多.所以,搭建Qt for Andorid也是十分简单的.需要以下工具: 1.最方便的Qt官方包, ...
- windows下vscode 搭建python开发环境
1.vscode https://code.visualstudio.com/ 下载 2.python下载 https://www.python.org/downloads/windows/ exe ...
- vs2008,windows mobile 6 搭建PDA开发环境相关软件下载
1.Windows Mobile 6.5 Professional Developer Tool Kit (CHS).msi 下载地址:https://download.microsoft.com/d ...
- windows系统下搭建Python开发环境
1.首先下载最新的Python http://www.python.org/download/,我下载的是最新的Python3.5.1 2.下载完成之后开始安装,安装就比较简单了,一路下一步. 3.安 ...
随机推荐
- mysql 密码过期问题
问题描述: Your password has expired. To log in you must change it using a client that supports expired p ...
- 框架学习笔记之Maven简介和配置
一.什么是Maven?★Maven可翻译为“知识的积累”.“专家”.“内行”,它是一个跨平台的项目管理工具.★Maven提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成项目的基础工具建设 ...
- HDU 5056
题意略. 巧妙的尺取法.我们来枚举每个字符str[i],计算以str[i]为结尾的符合题意的串有多少个.那么我们需要处理出str[i]的左边界j,在[j,i]之间的串均为符合题意的 串,那么str[i ...
- 传统IO与NIO(channel-to-channel)文件拷贝的探索与性能比对
Channel-to-channel传输是可以极其快速的,特别是在底层操作系统提供本地支持的时候.某些操作系统可以不必通过用户空间传递数据而进行直接的数据传输.对于大量的数据传输,这会是一个巨大的帮助 ...
- Docker镜像的构成__docker commit
镜像是容器的基础,每次执行docker run的时候都会制定哪个镜像作为容器运行的基础.在之前的例子中,我们所使用的都来自于Docker Hub的镜像.直接使用这些镜像是可以满足一定的需求,而当这些镜 ...
- python中__name__=='__main__'的作用
学习python语法的过程中碰到了__name__=='__main__',这里做个笔记. 作用 这段代码的作用就是让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 测试 先 ...
- logback KafkaAppender 写入Kafka队列,集中日志输出.
为了减少应用服务器对磁盘的读写,以及可以集中日志在一台机器上,方便使用ELK收集日志信息,所以考虑做一个jar包,让应用集中输出日志 网上搜了一圈,只发现有人写了个程序在github 地址:https ...
- C#的发展历程第五 - C# 7开始进入快速迭代道路
C# 7开始,C#加快了迭代速度,多方面的打磨让C#在易用性,效率等各方面都向完美靠近.另外得益于开源,社区对C#的进步也做了很大共享.下面带领大家看看C# 7的新特性.其中一部分是博主已经使用过,没 ...
- 2015最新iOS学习线路图
iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...
- 暴力破解MD5的实现(MapReduce编程)
本文主要介绍MapReduce编程模型的原理和基于Hadoop的MD5暴力破解思路. 一.MapReduce的基本原理 Hadoop作为一个分布式架构的实现方案,它的核心思想包括以下几个方面:HDFS ...