• 雪狐自营官方旗舰店

    [宝贝数量:20 ]

  • 当前位置:首页 > 视频教程
    雪狐Laravel5.7开发环境部署(Windows版)[更新完毕,共6讲]
    • 售 价:
    • 0
    • 发货方式: 自动发货
    • 浏 览 量: 195
    • 最后刷新: 2019-09-16
    商品详情 课程目录 交易评价 交易规则

    开发工具及软件:https://pan.baidu.com/s/1ZnrwsbOklqi5jnWXG48Dyg

    系统要求

    Windows 7 及以上系统

    主要步骤

    1. 设置 SublimeText
    2. 安装 Git
    3. 安装 VirtualBox
    4. 安装 Vagrant
    5. Homestead介绍
    6. 导入Homestead Box(虚拟机盒子)
    7. 下载 Homestead 管理脚本及配置
    8. 启动 Homestead 虚拟机
    9. 创建第一个Laravel应用
    10. 创建第二个Laravel应用
    11. 附录

    1. 设置 SublimeText

    在系统的环境变量中添加SublimeText路径

     ;C:Program FilesSublime Text Build 3176 x64

    2. 安装 Git

    直接双击安装并检测是否成功安装:

    > git --version

    3. 安装 VirtualBox

    VirtualBox 号称是一款免费的虚拟机软件,支持主流操作系统,如:Mac, Windows, Linux 等,当然也可使用 vmware 或 Parallels 等。

    直接双击安装即可。

    4. 安装 Vagrant

    Vagrant 是用来管理虚拟机的工具,例如通过指令来控制虚拟机的启动,在团队开发项目中,您只需要同步 Vagrantfile 文件,就可以保证团队每位成员的机器上拥有一致的开发环境。

    5. Homestead介绍

    Homestead是一个官方预封装的Vagrant虚拟机盒子,Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及您在使用 Laravel 开发时需要用到的各种软件。

    Homestead 里面包含:

    • Homestead 管理脚本
    • Homestead Box 虚拟机盒子

    6. 导入Homestead Box(虚拟机盒子)

    在虚拟机盒子目录(非中文目录)运行以下命令导入 Box:

    > vagrant box add metadata.json

    注:导入成功后即可删除。

    7. 下载 Homestead 管理脚本及配置

    > cd ~
    > git clone https://github.com/laravel/homestead.git Homestead

    下载完成之后我们在 Homestead 目录,检出需要的 Homestead 版本:

    > cd Homestead && git checkout v7.8.0

    初始化 Homestead

    > bash init.sh

    初始化完成之后,会在 Homestead 目录下生成以下三个文件:

    • Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;
    • after.sh - 每一次 Homestead 盒子重置后(provision),会调用的 shell 脚本文件;
    • aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的 ~/.bash_aliases 文件中,aliases 里可以放一些快捷命令的定义。

    配置 Homestead.yaml 文件

    可通过Sublime Text直接打开 Homestead.yaml 文件

    > subl ~/Homestead/Homestead.yaml
    ip: "192.168.10.10"
    memory: 2048
    cpus: 1
    provider: virtualbox
    authorize: ~/.ssh/id_rsa.pub
    keys:
        - ~/.ssh/id_rsa
        - ~/.ssh/id_rsa.pub
    folders:
        - map: ~/code
          to: /home/vagrant/code
    sites:
        - map: homestead.test
          to: /home/vagrant/code/Laravel/public
    databases:
        - homestead
    variables:
        - key: APP_ENV
          value: local

    authorize:主机上的公钥文件, 自动复制到虚拟机的 /home/vagrant/.ssh/authorized_keys文件中, 用于 SSH免密登陆

    keys:主机的SSH私钥文件, 自动复制到虚拟机的 /home/vagrant/.ssh/ 目录中, 使虚拟机能共享主机上的密钥文件, 具备等同于主机的身份认证( 主机和虚拟机用同一个ssh私钥文件认证github)

    创建密钥对,请将 lyc@studyfox.cn 替换为您自己的邮箱

    > ssh-keygen -t rsa -C "lyc@studyfox.cn"

    主机里直接访问虚拟机站点,必须绑定 hosts 来实现,可直接在以下路径打开或使用以下命令在Sublime Text打开

    > subl C:/Windows/System32/Drivers/etc/hosts

    在 hosts 文件中加入以下一行

    192.168.10.10  homestead.test

    8. 启动 Homestead 虚拟机

    Vagrant 常用命令行:

    命令行说明
    vagrant init初始化 vagrant
    vagrant up启动 vagrant
    vagrant halt关闭 vagrant
    vagrant ssh通过 SSH 登录 vagrant(需要先启动 vagrant)
    vagrant provision重新应用更改 vagrant 配置
    vagrant destroy删除 vagrant

    启动虚拟机

    > cd ~/Homestead && vagrant up

    启动成功后,在 ~/Homestead 目录中,登录 Homestead 虚拟机

    > vagrant ssh

    登录成功后如需退出虚拟机

    $ exit

    关闭虚拟机

    > vagrant halt

    9. 创建第一个Laravel应用

    修改 composer 的全局配置文件

    > composer config -g repo.packagist composer https://packagist.phpcomposer.com

    开启 Homestead 虚拟机并登录

    > cd ~/Homestead && vagrant up
    > vagrant ssh

    启动成功后新建一个 Laravel 项目

    $ mkdir code
    $ cd code
    $ composer create-project laravel/laravel Laravel --prefer-dist "5.7.*"

    10. 创建第二个Laravel应用

    在虚拟机code目录中从git克隆一个应用

    $ cd ~/code
    $ git clone https://github.com/lycstudyfox/lesson.git Lesson

    Homestead.yaml文件中添加如下内容

    sites:
        - map: lesson.test
          to: /home/vagrant/code/Lesson/public
    databases:
        - lesson

    hosts中添加

    192.168.10.10  lesson.test

    重新加载 vagrant 配置并重启 Homestead 虚拟机

    > cd ~/Homestead && vagrant provision && vagrant reload

    登录 Homestead 虚拟机

    > vagrant ssh 

    下载项目依赖,存入vendor目录中

    $ composer install 

    拷贝 .env.example 为 .env

    $ cp -r .env.example .env 

    生成key

    $ php artisan key:generate 

    11. 附录

    连接虚拟机的数据库信息

    ip: 127.0.0.1
    端口: 33060
    用户名: homestead
    密码: secret

    ssh登录虚拟机的配置信息

    ip: 192.168.10.10
    用户名: vagrant
    密码: vagrant

    解决 Laravel 本地项目运行缓慢的问题(由VirtualBox 的 IO 引起,需安装NFS Plugin插件)

    在主机中安装

    > vagrant plugin install vagrant-winnfsd 

    安装成功后修改配置文件homestead/scripts/homestead.rb

    # Register All Of The Configured Shared Folders
    if settings.include? 'folders'
        settings["folders"].each do |folder|
            if File.exists? File.expand_path(folder["map"])
                mount_opts = []
    
                if (folder["type"] == "nfs")
                    mount_opts = folder["mount_options"] ? folder["mount_options"] : ['actimeo=1', 'nolock']
                elsif (folder["type"] == "smb")
                    mount_opts = folder["mount_options"] ? folder["mount_options"] : ['vers=3.02', 'mfsymlinks']
                end
    
                # For b/w compatibility keep separate 'mount_opts', but merge with options
                options = (folder["options"] || {}).merge({ mount_options: mount_opts })
    
                # Double-splat (**) operator only works with symbol keys, so convert
                options.keys.each{|k| options[k.to_sym] = options.delete(k) }
    
                config.vm.synced_folder folder["map"], folder["to"], type: folder["type"] ||= nil, **options
    
                # Bindfs support to fix shared folder (NFS) permission issue on Mac
                if Vagrant.has_plugin?("vagrant-bindfs")
                    config.bindfs.bind_folder folder["to"], folder["to"]
                end
            else
                config.vm.provision "shell" do |s|
                    s.inline = ">&2 echo "Unable to mount one of your folders. Please check your folders in Homestead.yaml""
                end
            end
        end
    end

    将以上代码替换为下方代码

    if settings.include? 'folders'
      settings["folders"].sort! { |a,b| a["map"].length <=> b["map"].length }
    
      settings["folders"].each do |folder|
        config.vm.synced_folder folder["map"], folder["to"], 
        id: folder["map"],
        :nfs => true,
        :mount_options => ['nolock,vers=3,udp,noatime']
      end
    end

    修改文件夹共享方式Homestead.yaml

    folders:
        - map: ~/code
          to: /home/vagrant/code
          type: nfs

    重新加载 vagrant 配置并重启 Homestead 虚拟机

    > cd ~/Homestead && vagrant provision && vagrant reload
       交易规则
    交易流程
    发货方式

    1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;

    2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。

    退款说明

    1、描述:描述(含标题)与实际不一致的;

    2、发货:手动发货,在卖家未发货前,已申请退款的;

    3、安装:商品详情中写免费提供安装服务的但卖家不履行的;

    4、其他:如质量方面的硬性常规问题等。

    注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。

    注意事项

    1、默认商品交易周期为3天(非服务和任务类型),若交易周期双方无法完成交易,任意一方可联系本站客服延长交易,需对方同意即可;

    2、雪狐无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别;

    3、在没有"无任何正当退款依据"的前提下,商品写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;

    4、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);

    5、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在雪狐上所留的QQ、手机号沟通,以防对方不承认自我承诺。

    6、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于雪狐介入快速处理。

    雪狐声明

    非平台线上交易的项目,出现任何后果均与雪狐网无关;无论卖家以何理由要求线下交易,请联系雪狐客服举报。

      雪狐自营官方旗舰店

      联系卖家

    客服

    雪狐官方客服

    客服QQ: 2608818666

    客服电话:1336-1996-998

    正常模式精简模式

    返回顶部