(最新版文档,实测没问题)vagrant 虚拟机搭建 以及virtualbox 安装 配置 完整流程

14 篇文章 0 订阅
13 篇文章 1 订阅

先熟悉这些vagrant 命令:

$ vagrant init      # 初始化

$ vagrant up        # 启动虚拟机
$ vagrant halt      # 关闭虚拟机
$ vagrant reload    # 重启虚拟机
$ vagrant ssh       # SSH 至虚拟机
$ vagrant suspend   # 挂起虚拟机
$ vagrant resume    # 唤醒虚拟机
$ vagrant status    # 查看虚拟机运行状态
$ vagrant destroy   # 销毁当前虚拟机


#box管理命令
$ vagrant box list    # 查看本地box列表
$ vagrant box add     # 添加box到列表

$ vagrant box remove  # 从box列表移除 

nginx:
      nginx目录:/etc/nginx
      sudo service nginx restart 重启nginx

参考文档:Homestead |《Laravel 5.4 中文文档 5.4》| Laravel China 社区

一、开始:下载:VirtualBox   地址:Downloads – Oracle VM VirtualBox 

一、安装 Homestead Vagrant Box

当 VirtualBox / VMware 以及 Vagrant 安装完成后,你使用以下命令将 laravel/homestead 这个 box 安装进你的 Vagrant 程序中。 box 的下载会花费你一点时间,具体的下载时长由网络速度决定:

  注:如果本地没有事先下载好virtualbox-php7.box文件,就执行下面命令会自动下载box文件

vagrant box add laravel/homestead

如果觉得上面自动下载太慢,可以手动去迅雷下载,我目前用的box的下载地址是:  https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/virtualbox.box

如果提前下载好了.box文件,把viirtualbox.box文件放到E:/virtualbox/这个目录下面,然后修改下面命令,add后面先跟box别名,再跟上文件的路径即成功使用本地的box

         (liweibox是我给virtualbox.box起的别名,下面会用到这个别名,还有要注意路径的正斜杠)

vagrant box add liweibox E:/virtualbox/virtualbox.box

         切记上面路径中的反斜杠要改为正斜杠

完成后,你会发现自己的用户文件夹里多出了一个名为.vagrant.d的文件夹     

           ps:可能会报错:

          解决办法:这是因为服务器的SSL证书没有经过第三方机构的签署,执行下面命令(不报上面错误不需要)

git config --global http.sslVerify "false"

二、安装 Homestead

1. 你可以通过手动克隆代码仓库的方式来安装 Homestead。建议将代码仓库克隆至home(我是在D盘根目录 建的home文件夹),如此一来 Homestead box 就能将主机服务提供给你所有的 Laravel 项目:

cd D:/home   //就是你要安装到哪个目录(就是我刚才建的D盘的home文件夹)

git clone https://github.com/laravel/homestead.git Homestead     

           

            ps:可能会报错:

              

          解决办法:这是因为服务器的SSL证书没有经过第三方机构的签署,执行下面命令(不报上面错误不需要)

git config --global http.sslVerify "false"

 执行成功以后,home文件夹中会自动生成Homestead文件夹

2.由于 Homestead 的 master 分支并不是稳定分支,你应该检出已经标签过的稳定版本。你可以在 Github Release Page 找到最新的稳定版本。

cd Homestead

// 默认是最新的master分支,检出所需要的版本...
(检出到相对稳定的版本分支) git checkout v7.17.0

3.一旦你克隆完 Homestead 的代码仓库,即可在 Homestead 目录中运行 bash init.sh 命令
来创建 Homesstead.yaml 配置文件。

bash init.sh

         此处需注意:(我是widows电脑搭的,用的是上面的bash init.sh 绝对没问题,不要用下面vagrant init 或者vagrant init+别名都别用,我只是网上看到有报错方面的处理先存下来)

如果上面add  命名后面用的是下载好的box则不能像下面一样执行命令: vagrant init

             

下面是正确的命令: vagrant init +别名格式

              

 4.Homesstead.yaml 文件会被放置在你的 C盘用户目录中: 

三、配置 Homestead

1、Homestead.yaml 中的 provider 参数设置取决于你用的是哪一个 Vagrant 提供者 virtualbox(如果是virtualbox就不用改这个参数

provider: virtualbox

2、如果你在 Homestead box 配置之后更改了 sites 属性,那么应该重新运行 vagrant reload --provision 来更新 Nginx 配置到虚拟机上。

vagrant reload --provision 

      注意:我本地所有的项目都在project目录下面,所以我定义- map: E:\Project    to: /home/vagrant/Code  这样的话虚拟机的Code目录就同等于Project,也就是说Project目录下面有什么,Code目录下面就有什么

  用编辑器打开 Homestead.yaml文件进行配置,如果有多个项目,就复制多套 -map   和 to (-map时本地项目路径,to是虚拟机项目路径,虚拟机项目路径写死 /home/vagrant/Code)如下所示:

(编辑时请注意:一个空格都不要多大,否则出错自己都排查不出来)

folders:
    - map: E:/Project
      to: /home/vagrant/Code
    - map: 本地项目路径1
      to: /home/vagrant/Code
    - map: 本地项目路径2
      to: /home/vagrant/Code

 

注意:切记上面路径中的反斜杠要改为正斜杠,Code目录是在虚拟机的跟目录上,登录虚拟机 (命令:vagrant up)以后ls就能看到。

3.配置 Nginx 站点

       注:站点配置如果有多个的话,也是复制多套 -map 及 to

sites:
    - map: wwww.ceshi.cn   //自定义访问域名
      to: /home/vagrant/Code/ceshi/public   //将站点域名指向到ceshi项目中的public目录下面

            切记上面路径中的反斜杠要改为正斜杠

如果你在 Homestead box 配置之后更改了 sites 属性,那么应该重新运行 vagrant reload --provision 来更新 Nginx 配置到虚拟机上。

4.配置 Hosts 文件

        你必须将在 Nginx sites 中所添加的「域名」也添加到你本机电脑的 hosts 上。 hosts 文件会将请求重定向至 Homestead 环境中设置的本地域名。

        

192.168.10.10  wwww.ceshi.cn

四、启动 Vagrant Box

        编辑完 Homestead.yaml 后,进入你的 Homestead 目录并运行 vagrant up 命令。 Vagrant 就会根据 Homestead.yaml 里的配置信息,为虚拟机设置共享文件夹和 Nginx 网站。

        如果很慢说明没找到自己的box又再重新下载,版本问题,先终止再去修改下面位置:

如果上面add的是本地下载好的box的话,要修改别名。

一般到此就OK了,下面是我想把本地虚拟机的内网ip改成公网ip,有时候前端可以直接请求我本地的接口,

如果有需要就再多操作下面2个步骤:

1、把私有的改成public

 

2、修改成公网ip

 启动虚拟机之前要确认电脑是否已经生成ssh秘钥,如果生成过了可以直接启动,没生成过就执行下面命令:

ssh-keygen -t rsa -C "545034502@qq.com"     //邮箱换成你自己的邮箱

//按照执行后提示,按三次enter键,
//在看到Your identification has been saved in /XXX/xx_rsa.ssh 内容时,表示已经生成好,
//去此路径即可看到.ssh文件,用文本编辑器打开,并复制所有内容;

忙活了半天,终于完成基础配置了,现在可以启动虚拟机了,运行下面命令去试试吧(记得看提示有没有报错信息)!

vagrant up    //启动虚拟机

       可能会报错1:

                          

                          说明你vm里的guest addition和virtualbox版本不符,可能会导致共享文件出问题

                          运行一下命令  会在每次vagrant up的时候检查guest addition的版本和virtualbox的版本,如果不匹配就会自动下载并安装新版本的vgrant-vbguest

vagrant plugin install vagrant-vbguest

vagrant ssh连接进入虚拟机

配置nginx

cd   /etc/nginx

cd sites-avaiable里面 有几个站点  复制几套sever   然后sites-enable 里面就会自动生成软连接

sudo vim 打开下面的文件进行配置

配置完就能访问了!

另外如果想切换默认php版本,可以先php -v看一下当前版本,

之前没注意 Homestead 目录下有个 aliases 文件,这个文件中定义了一些可以直接在虚拟机中使用的命令,比如想切换到 7.0 版本直接执行

php72  //执行即可,注意中间没有空格

 

五、远程连接homestead数据库

默认

      ip 192.168.10.10

      账号:homestead

     密码:secret

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值