Vagrant的基本简单使用
文章目录
一、前言
Vagrant 可以让你使用单一的配置信息来部署一套虚拟环境, 最后打包为一个所谓的 box (就是已经部署好环境的虚拟机器). 你可以手动来安装和配置 box, 也可以使用自动部署工具, 如 Puppet 或者 Chef .
自动部署工具可以让你快速部署一套一模一样的环境, 避免了一大堆的手动的命令输入, 并且允许你随时删除和重建一个全新的 box, 虚拟机的管理变得更加简单.
Vagrant 还可以在虚拟机和主机上分享文件夹, 意味着你可以在主机里面编辑代码, 然后在虚拟机里面运行.
目标环境:
- window下开发,利用xdebug远程联调
- virtual Box的安装(5.1.30版本,5.2的版本之前提示兼容问题): 下载地址:https://www.virtualbox.org/wiki/Download_Old_Builds_5_1
- vagrant的安装(2.0.0版本): 下载地址:https://www.vagrantup.com/
- Homestead环境配置:
- github地址:https://github.com/laravel/homestead.git
- Laravel Homestead Box安装(Laravel Homestead 是一个官方预封装的 Vagrant Box,提供了一个完美的开发环境,你无需在本地安装 PHP 、web 服务器或任何服务软件) :
- 安装命令: vagrant box add 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
二、安装明细
1. virtualbox以及vargrant的安装直接略过。
2. 下载 & 安装laravel/homestead box:
在线安装(国内通常被墙了):vagrant box add laravel/homestead 离线安装(本地安装):可以考虑自己找一些laravel/homestead的box的源,或者公司其他同事已经下载好的,可repackage出来: 假定下载好的离线box存储路径为:D:/VagrantSoftWare/homestead.box 在目录下,创建一个metadata.json,用于对vagran box一些说明:
|
|
执行vagrant.exe box add metadata.json
,然后通过vagrant.exe box list
就可以查看到:
$ vagrant.exe box list
laravel/homestead (virtualbox, 4.0.0)
然后继续后续的laravel/homestead的配置安装步骤即可。
3. laravel/homestead的相关环境配置, Clone laravel的Vagrantbox环境配置到~/Homestead
[选择稳定版本]
|
|
[初始化,并创建Homestead.yaml配置文件]
bash init.sh
4. 配置Homestead.yaml
Homestead.yaml属于Homestead的配置文件,
[配置提供器]
provider: virtualbox
#如果用了其他虚拟机比如vmware_workstation,这块提供商会不同
[和宿主机器共享文件夹]
|
|
5. 解析Host
192.168.10.10 blog.test
生成 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
6. vagrant的常见操作
- vagrant up # 启动vagrant box,也就是linux虚拟机;
- vagrant box list # 查看当前的vagrant box清单
- vagrant.exe box repackage laravel/homestead virtualbox 4.0.0 #打包vagrantbox
- vagrant ssh # 连接vagrant box
- vagrant reload # 加载最新的VagrantFile,并重启vagrant box 其他跟多的,可以自行vagrant –help
7. vagrant box的相关配置文件
- php相关配置,包含了多个版本的(5.6~7.2):/etc/php/
- nginx配置:/etc/nginx
- mysql配置: ~/.my.cnf 以及 /etc/mysql 其他都是类似的,都在/etc目录下,比如/etc/redis
8. XDEBUG的配置
vagrant box下的php这边都按模块进行配置了,相关模块配置都是在/etc/php/7.1/fpm/conf.d/下,比如:
xdebug配置路径: /etc/php/7.1/fpm/conf.d/20-xdebug.ini 具体配置:
|
|
9. 挂载情况查看
[mount -l]
|
|
10. 服务器情况
|
|
11. composer安装laravel
composer的话,用vagrant用户安装就OK了,比如安装Laravel,进入到/home/vagrant/code/blog/,直接composer create-project laravel/laravel .,稍等就可以安装完成了。
12. 其他
可以基于vagrant ssh-config查对应的ssh的相关配置,默认直接ssh到虚拟机ip192.168.10.10时候需要基于私钥登录的;
三、参考
Laravel 虚拟开发环境 Homestead: https://d.laravel-china.org/docs/5.5/homestead Laravel 的本地安装遇到的问题:https://stackoverflow.com/questions/34946837/box-laravel-homestead-could-not-be-found Xdebug 远端调试文档: https://xdebug.org/docs/remote Xdebug 在phpstorm下的设置
文章作者 小叨
上次更新 2017-07-23