当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    window下homestead开发环境安装详细教程

    栏目:win服务器问题汇总 时间:2019-11-12 17:20

    一、资源准备

      链接:http://pan.baidu.com/s/1mh7qUBe 密码:p4wx

      1. virtualbox.box文件放在C盘根目录上。

      2. metadata.json文件放在C盘用户目录上。比如我的是 C:\Users\pc

      3. Git-2.9.3-64-bit.exe 下载安装,全部默认就好。

      4. vagrant_1.8.5.msi 下载安装。

      5. VirtualBox-5.1.4-110228-Win.exe 下载安装。

    二、简介

      1. 什么是vagrant?

      VirtualBox相信很多人都用过,它是一个虚拟化软件,用来在我们的电脑上虚拟出一电脑来,和 VMware Workstation, kvm, xen等是一类东西(专业点的说法叫Hypervisor),不过它提供易用的界面(VMware也有),对各平台的支持(Linux, Win, Mac),又非常的轻量,最关键的free呀,所以使用非常广泛。

    我们平时使用VirtualBox最常见的情况就是,自己电脑是个Win,想跑个Linux,或者电脑是个Linux,要跑win上网银啊,QQ什么的 win only之类的,虽然有wine这样的东东,可以在Linux下跑win下的软件,但有个win系统稳定性不更好么,并且现在的电脑配置,完全不用担心虚拟机消耗内存CPU什么的,你不用那才是浪费呢,何况VirtualBox这么轻量。个人体验,弄个xp虚拟机跑QQ资源消耗比chrome或者ff登webQQ要少,可恶的用了多少js。。。

    对天天码代码的苦逼程序员来说,VirtualBox就不能是简简单单的挂个Q这么用了,程序员搞最多的就是码代码了,可能做很多个项目,公司里搞java的,php的,自己回家再玩个python什么的,想体验下新版本的mongodb或者nginx,Emacs或者vim的配置啦,保不准哪个项目前个版本的数据库是mysql,下个版本用了postgresql, 这么多东西全都搞在一起,装在一个电脑上,肯定会被这各种配置环境搞的晕晕的,烦不胜烦。

    怎么办呢,最好是每个项目都有一个干净的开发环境,只为这个项目,可是我们不可能为每一个项目配一个电脑吧,有了,虚拟机,给每一个项目配一个虚拟机,开发A的时候就启A的虚拟机,这样各个开发环境互相独立,干干净净。还有一个问题,我们的项目有多个开发人员,如何保障大家的开发环境都一样呢,总不能每个人都一个个点击鼠标,填写配置参数,建好后上支一个个软件安装吧,这太麻烦了,太不geek了。我们想要的是,环境只配置一遍,然后可以把这个环境打包deliver给别人,别人拿到后,直接启起来就可以用。那有没有这样的东西呢,肯定是有的,Vagrant,它就是用来干这个的。

      2.什么是homestead?

      homestead就上面灰色标注laravel官方打包给我们使用的环境,也就是资源准备里的第一个文件virtualbox.box。它包含以下东西:

    Ubuntu 16.04
    Git
    PHP 7.0
    Nginx
    MySQL
    MariaDB
    Sqlite3
    Postgres
    Composer
    Node (With PM2, Bower, Grunt, and Gulp)
    Redis
    Memcached
    Beanstalkd

    三、安装步骤

      Git bash 下

      1. 输入 vagrant box add metadata.json

            2. 输入 git clone https://github.com/laravel/homestead.git Homestead

      3. 输入 bash init.sh

      这时你的用户目录下会多了一个 .homestead 文件夹,里面有一个 Homestead.yaml 文件,这是homestead配置文件,我们日常开发中经常会用到的。现在对这个文件进行编辑

    ---
    #虚拟机的ip地址
    ip: "192.168.10.10"
    #分配给虚拟的内存
    memory: 2048
    #cpu数
    cpus: 2
    provider: virtualbox
    authorize: ~/.ssh/id_rsa.pub
    keys:
    - ~/.ssh/id_rsa
    #设置主机与虚拟机的共享文件夹
    folders:
    #主机
    - map: ~/Code/test
    #虚拟机
    to: /home/vagrant/Code/test
    #设置域名与访问地址
    sites:
    - map: test.app
    to: /home/vagrant/Code/test/public
    #数据库
    databases:
    - homestead
    # blackfire:
    # - id: foo
    # token: bar
    # client-id: foo
    # client-token: bar
    # ports:
    # - send: 50000
    # to: 5000
    # - send: 7777
    # to: 777
    # protocol: udp