使用虚拟机的目的是为了打造 个通用的、接近生产力服务器的开发环境,避免“在
我的机器上可以,在你的机器上为什么不行?”这样的问题出现 但由 2.1 节可知,
VirtualBox 安装虚拟系统的过程和配 相对烦琐,对没接触过虚拟机工具的新人,在使用
上并不算友好,只适合一些特定的应用场景 而使用 Vagrant 工具可以让虚拟机的安装和
配置大为简化,并能优化系统占用资源,最终提高开发效率。
Vagrant 简介
Vagrant 出现的目的是为了让开发者更好地使用 拟机,避免其陷入无尽的安装、配
和调试之中 。虽然对于初学者来说,安装和配置虚拟机看起来也不是那么复杂,但当遇
到需要搭建服务器集群、 端口转发 多平 台文件共享和虚拟系统性能等复杂操作的时候,
就不是简单地执行“下一步”操作就可以了,此时 Vagrant 这样的工具就体现出价值了
Vagrant 的标志如图 2-17 所示。 ‘
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015545453.png#pic_center)
Vagrant 简单来说就是把在虚拟机中安装系统 毡, AGRANT
相关操作自动化,开发者只需要通过一些命令, ,, 就可以完成跨平台通用开发环境的搭建和使用。其 2-17 虚拟机辅助工具 Vagrant 标志 优势如下:
软件安装流程简单,操作界面友好。
.虚拟机操作自动化。解决安装初始化、文件同步、 SSH 远程连接和环境依赖等常见
问题
.跨操作系统,支持多种虚拟机平台。无论开发者使用的是 indows 下的 Virtual Box ,
还是 Mac OS 下的 Vmware, Vagrant 都可以完美支持。
方便共享。虚拟机环境搭建完成后支持一键导出,方便开发团队共享相同的开发
环境。
.开源社区提供各式各样的操作系统版本 集成环境,无须再去 找各种版本的操作
和工 ,可以实现一键下载、安装
下面来看一 Vagrant 工具的安装流程,其具体流程如下:
(1 )安装 VirtualBox
因为 VirtualBox 的详细安装流程在 2.1 节中已 讲解过,这部分就不再赘述
(2)下载 Vagrant 工具安装
访问 ttps: //www.vagran p.corn/downloads html ,根据操作系统版本下载安装文件,在
这里选择 Window s64 位版本, 单击 64-bit ”按钮即可开始下载,如图 18 所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015517253.png#pic_center)
(3 )开始安装 Vagrant 工具
双击打开下载完成的.exe 安装包,只需要单击 ext 按钮一步一步地安装即可。注意
除了安装路径 般不选择系统盘外,其他都使用默认设 即可。
Vagrant 工具安装 成,如图 2-19 所示。安装完毕后需要重启系统,提示如图 2-20
所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015640333.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
(4 )开始使用
查看 Vagrant 是否安装成功,需要在 Windows 统“开始”按钮上单击鼠标右键,然
后选择“命令提示符(管理员)( )”选项后,出现命令行窗口,输入以下命令
vagrant v
若正常显示版本信息,则说明 Vagrant 工具己经安装成功,效果如图 21 示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015733131.png#pic_center)
提示:这里使用的操作系统版本为 Windows 10 ,在其他 Windows 系统中打开命令行工
具可能稍有不同
Vagrant 常用操作
Vagrant 工具 方便之处就在于,可 直接下载已经打包好的虚拟机初始化文件
box 。省去 了自己下载系统镜像、 安装配置的过程 相比传统的虚拟机系统安装流程,
使用 Vagrant 工具的相关操作大为简化,如图 -22 所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015819933.png#pic_center)
Vagrant 具的 box 个操作系统环境,实际上就是 压缩包 包含 Vagrant 的配
置信息 Virtua!Box 拟机镜像文件
box 的下载可以通过多种方式 这里推荐使用官方的 Va nt Cloud 地址 https://app.
vagrantup.corn/boxes search )进行 取, 方便检索自己所需的 box 版本 以检索 Ubuntu
为例,部分 询结果如图 2-23 ,可以 到其覆盖了常见的 buntu 操作系统发行版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015844885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
这里选用以基于 Ubuntu 16.04 LTS 础的“ubuntu xenial64 ”作为 box 例进行下
载、安装和启动等操作方法的演示。
(1) box 获取与安装
添加 box 的命令格式如下:
vagrant box add base box 地址或者本地的 box 文件名
命令中 vagrant box add 是添加 box 命令, base box 的名称,可以自 定义 这里默
认使用 base 主要用来标识添加 box 方便后面 安装。
首先打开 Windows 令行界面,输入并执行以下命
vagrant box add ubun tu/xenial 64
Vagrant 会自动开始下 box 本地,因为是官方 box ,所以在这里不定义标识,自动使用官方的原名即可。下载完成结果如图 -24 所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909015940917.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
此命令用来查看 Vagrant 中已经添加的 box 列表 此时可以看到名为“ ubun xenial64"的
box 已经添加,后面就可以直接安装使用了,如图 2-2 所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909020008967.png#pic_center)
(2 )创建虚拟机系统配置文件
初始化的过程也是使用命令操作,首先定位到指定的目录(如 盘下的 ubu ubox目录
开发者可以灵活定义〉,执行以下命令
vagrant it ubuntu/xenial64
Vagrant 会在当前目录下生成 Vagrantfile 配置文件,用文本编辑器打开后,会发现里
面有很多配 工页, 但这不影响使用默认配置来完成安装,后面还会详细说明此配置文件。
执行 的提 26 示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909020043275.png#pic_center)
(3 初始化 拟机
执行 下命
vagra up
2-26 gran 虚拟系统配置文件
初始化过程如图 27 所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090902010068.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
(4)链接虚拟机
完成 Vagrant 中初始化虚拟机 就可以执行相应 命令进行 SSH
vagrant ssh
执行效果 28 所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909020214971.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
从执行结果可以看出, Windows 原生的命令行工具不支持 SS 操作,所以在这里可
以使用 XS hell Git Bash 等第 方工具进行操作连接。
更换第 方工具前,需要先在 Windows 命令行工具下执行 闭虚拟机操作:
vagrant halt
随后打开 Git Bash 命令行工具(安装完 in dows Git 工具后,任意目录下,在系统右
键菜单中可以找到),再次执行 vagrant up 令启动虚拟机 随后使用 vagrant ssh 命令连
接虚拟机,连接成功后就可以操作虚拟机系统了,如图 29 所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090902023779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center)
&提示: agrant 工具下的虚拟系统一般使用命令行操作,不使用图形化界面。
(5)查看虚拟机基本信息
执行 inu 下的 df -f 命令可以 看磁盘挂载信息,其中 vagrant 目录映射真实系统中
Vagrantfile 置文件所在的目录,可以实现虚拟系统与真实系统的文件共享,便于程序在
虚拟机中调试,如图 2-30 所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909020311705.png#pic_center)
- 服务器购买到搭建宝塔
- 结构规范
- php基础
- php简介
- php是什么
- PHP 能做什么
- PHP 如何运行
- 如何了解弱语言
- 安装环境
- 安装LNMP
- 宝塔
- phpstudy
- PHP基本语法
- PHP 标记
- 从 HTML 中分离
- 指令分隔符
- 注释
- php 数据类型
- 类型检测
- 四种标量类型
- boolean(布尔型)
- Integer 整型
- Float 浮点型
- String 字符串类型
- 两种复合类型
- array(数组)
- object(对象)
- 两种特殊类型
- resource(资源)
- NULL(无类型)
- 类型转换
- 变量
- 变量定义和命名规范
- 传值和引用
- 预定义变量
- php预定义变量
- $_SERVER详解
- 变量范围
- 全局变量
- 静态变量
- 可变变量
- 常量
- 常量简介
- 常量定义
- 相比变量
- 魔术常量
- 运算符
- 运算符简介
- 算术运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 错误控制运算符
- 执行运算符
- 递增(减)运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 新增操作符
- 控制结构
- 控制简介
- if 语句
- while 语句
- for 语句
- foreach 语句
- break 语句
- continue 语句
- switch 语句
- declare 语句
- return 语句
- include 语句
- PHP 函数
- 函数简介
- 用户自定义函数
- 函数的参数
- 返回值
- 可变函数
- 内部函数
- 匿名函数
- PHP 的类和对象
- PHP 的类和对象简介
- 基本概念
- 对象继承
- 属性
- 类常量
- 自动加载对象
- 构造和析构函数
- 访问控制
- 范围解析操作符(::)
- 静态static
- Static 关键字
- 抽象类
- 接口
- 匿名类
- 面向对象其他特性
- const关键字
- final关键字
- abstract用于定义抽象方法和抽象类。
- self、$this、parent::关键字
- 接口(interface)
- trait关键字
- instanceof关键字
- 魔术方法
- 构造函数和析构函数
- 私有属性的设置获取
- __toString()方法
- __clone()方法
- __call()方法
- 类的自动加载
- 会话控制
- cookie
- PHP 操作 cookie
- 项目实战
- SESSION
- Session 的初步介绍与实验准备
- PHP 操作 session
- 项目实战2
- http
- 特点
- 工作过程
- request
- response
- HTTP状态码
- URL
- GET和POST的区别
- HTTPS
- 常用函数
- 常用的字符串函数
- 常用的数组函数
- 常用文件函数
- 常用时间函数
- 常用日历函数
- 常用url函数
- 面试题常见
- 时间戳
- 技术类文档
- 技术开发文档
- 开发环境
- 开发规范
- 注释规范
- 开发目录结构
- 数据库字典
- 路由
- 定时任务
- 获取系统配置
- 系统常用函数
- 后台表单
- 消息队列
- 第三方类库标注
- 需求文档
- 数据库
- MYSQL
- 事务(重点)
- 索引
- 存储过程
- 触发器
- 视图
- 导入导出数据库
- 优化mysql数据库的方法
- MyISAM与InnoDB区别
- 外连接、内连接的区别
- 物理文件结构
- MongoDB
- Redis
- 运用场景和实例
- pgsql
- 服务器
- Nginx
- 正向代理和反向代理
- 负载均衡
- Linux常用命令
- 基本目录和命令
- php开发工具
- phpStorm编辑器
- 安装和汉化
- 链接ftp
- 常用操作
- 常用快捷键
- 自定义快捷键
- 使用快捷键新建目录和文件
- 使用快捷键快速查找文件、类、方法
- 多文件切换
- 快速搜索设置项
- 多点编辑
- 方法重构
- 自定义文件模板和代码片段
- 自定义文件模板
- 自定义代码片段
- Xdebug 调试插件
- 安装Xdebug 调试插件
- 在PHPStorm 中使用 Xdebug 插件调试代码
- Vi Box虚拟机
- Vi Box 虚拟机 Oracle VM VirtualBox
- 虚拟机辅助工具一-Vagrant
- 华硕主板BIOS设置中VT虚拟化技术选项怎么开启 Oracle VM VirtualBox
- 沟通工具
- 文档分享
- 流程图
- 任务分配
- 代码托管
- 缺陷管理
- 设计图
- gitLab
- 安装
- 汉化
- Gitlab 用户和项目管理
- Gitlab 持续集成与自动构建实践
- PHP进阶
- 大流量解决方案
- PSR规范
- RESTFUL规范
- 设计模式
- 单例模式
- 策略模式
- 工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 外观模式
- 享元模式
- 代理模式
- 命令模式
- 中介者模式
- 观察者模式
- 状态模式
- 建筑者模式
- 适配器模式
- 桥接模式
- 装饰器模式
- 排序算法
- 冒泡排序算法
- 二分查找算法
- 直接插入排序算法
- 希尔排序算法
- 选择排序算法
- 快速排序算法
- 常见网络攻击类型
- CSRF攻击
- XSS攻击
- SQL注入
- Cookie攻击
- thinkphp
- thinkphp5命令行
- git
- Git 常用命令操作和基础学习
- 傻瓜与白痴的笔记本
- 学习
- 一、Git 与 GitHub 的来历
- 二、在 GitHub 上创建仓库
- 三、安装
- Windows 上安装 Git
- 安装2
- 四、克隆 GitHub 上的仓库到本地
- 五、GIT基本操作哦
- 六、Git 分支操作
- 一、添加SSH关联授权
- 二、为 Git 命令设置别名
- 三、Git 分支管理
- 七、多人协作 GitHub 部分
- 八、多人协作 Git 部分
- 九、Git tag 和 GitHub releases
- composer
- Composer 基础使用
- 安装和使用
- 在项目中集成PHPmailer
- 认识composer.json和composer.lock文件
- composer的其他命令操作
- 本地创建composer包
- 提交自己的依赖包到composer Packagist
- crontab计划任务
- Linux任务计划crontab
- php 的 计划任务——Crontab
- bootstrap前端框架
- 入门
- 实战技巧
- 后台模板样式——admin
- 第三方接口对接
- 微信
- 敏感词过滤
- 微信图片检测
- 短信类型
- 阿里云短信
- 容联云短信
- 飞鸽短信
- 媒体
- 新闻接口测试
- 免费新闻
- 免费视频
- nba赛事,未测试
- 豆瓣电影接口
- 音乐接口
- 网易短视频接口
- 知乎微信接口
- 百度ai
- 百度语音
- 图片识别
- 腾讯
- 腾讯im
- 腾讯云直播
- 腾讯滑动验证
- 物流快递
- 快递鸟、快递100
- 推送
- 极光推送
- 地图&天气
- 获取城市和天气预报
- 地址获取和定位
- 地址转换经纬度
- 图片类型
- 360新闻图片
- 多平台翻译
- 实名认证
- 七牛云
- 云合同
- 多站点收录查询接口
- 打印机
- 第三方登录
- 微信登录
- 支付
- 支付宝app支付
- 微信提现+退款
- 微信app支付
- 微信支付公式
- 类库
- 图片类
- phpqrcode实战:生成二维码
- 图片处理类
- 验证码类
- 消息类
- PHPMailer
- 分词类
- ik
- PHPAnalysis
- 自己封装的方法
- GD库
- 自动获取图片主题颜色
- 图片转素描
- 生成海报
- 图片转字符
- 验证码
- 图片转黑白灰
- GD库实现图片水印与缩略图
- Imagick扩展
- 将一张image图片转化为字符串的形式
- 基本方法
- 图片路径转base64
- 生成文件后缀图片
- url路径判断拼接
- 防篡改入口文件
- php中文姓名判断
- 可控抽奖
- 特殊截取
- 银行卡位(特殊卡号不支持)
- 微信红包计算
- 数组和对象互转
- php批量更新修改数据库
- base64_img上传
- 删库删目录————跑路
- 字符串特殊符号过滤
- 首字母转成默认头像
- 生成随机字符串
- 根据id转 邀请码
- 日志写入
- 字符串截取,超出显示省略号
- 清除html标签+清除html标签,字符串截取
- 计算时间差的函数和演示
- php判断路径是否是绝对路径,如果不是拼接至绝对路径
- sql 参数过滤
- php敏感词过滤
- 省市区分别截取
- 生成csv
- 无限极分类
- api接口返回封装的方法函数
- xml和数组互转
- 获取thinkph5下控制器和方法名
- 过滤
- 获取服务器信息
- php随机颜色
- 创建多级目录
- 推广码
- 跨域检测
- 二维码
- 文档类
- word
- PHPWord
- tcPdf
- MPDF
- dompdf
- FPDF、Fpdi类库
- excel
- PhpSpreadsheet导入
- phpExcel
- 时间
- PHP-农历+节气+节日等类库
- 时间类库
- 最好用的是人性化时间差
- 文件管理类
- 文件操作类
- 文件夹操作
- php操作ftp的类库
- curl
- 数据库操作类
- Db扩展函数
- 数据库备份
- 仿tp5的Db库
- 不常用mysql
- 自动生成数据库字典
- 字符串
- 字符串操作helper/Str
- 随机生成姓名
- 随机生成类
- php字符串类
- 中文转拼音的类库
- 分类
- 缓存
- 数据验证
- 身份证相关操作
- 安全类
- 表单生成类
- 自动生成表单,未完待续中