基础环境:宿主机是**64位Windows10**操作系统,通过**无线网**访问网络。
**macOS**可以以类似方式进行安装,**不同之处见最后补充**。
## Step1 安装VirtualBox
[VirtualBox](https://link.zhihu.com/?target=https%3A//www.virtualbox.org/)是一款免费、开源、高性能的虚拟机软件,可以跨平台运行,支持Windows、Mac、Linux等操作系统。下载地址是[Downloads – Oracle VM VirtualBox](https://link.zhihu.com/?target=https%3A//www.virtualbox.org/wiki/Downloads),此时(2019.3.25)下载到软件版本是6.0,安装比较简单,一路点击确定即可,在此不再赘述。
* * *
## Step2 安装CentOS7
[CentOS7](https://link.zhihu.com/?target=https%3A//www.centos.org/)是一款非常流行的免费开源的Linux操作系统,笔者的云主机也是选择这款操作系统。
###
Step2.1 下载CentOS7
进入[官网下载地址](https://link.zhihu.com/?target=https%3A//www.centos.org/download/),选择Minimal ISO(这里是出于学习的目的,选择最小化安装包)。
![](https://pic1.zhimg.com/80/v2-23990c2acaee4df8445c198e551af0fc_hd.jpg)
这里选择官网推荐的第一个镜像下载即可。
![](https://pic4.zhimg.com/80/v2-d089d912140ad31e70c3c0f7ca105217_hd.jpg)
### Step2.2 初始化虚拟机
打开VirtualBox,点击**新建**。
![](https://pic4.zhimg.com/80/v2-7614447803545a08fdd35fe382cc84a7_hd.jpg)
名称和虚拟机文件存放路径根据自己需要进行设置,类型选择Other即可,点击**下一步**。(注:测试时发现如果选择Red Hat,后面鼠标无法正常使用在安装的时候)
**提示:从这里到step2.3 启动虚拟机之前可以一路默认点过去。**
![](https://pic3.zhimg.com/80/v2-8a67b8d23b524292afa1097c5a2dcb12_hd.jpg)
分配内存(可以理解为虚拟机最大可占用宿主机的多少内存。),根据自己电脑配置和需要进行设置即可,我选择它推荐的512M,点击**下一步**。
![](https://pic4.zhimg.com/80/v2-97164d6918055999e998732c5d16dfeb_hd.jpg)
选择第二个**现在创建虚拟硬盘**即可,点击**下一步**。
![](https://pic3.zhimg.com/80/v2-d5b90601eb64834e48efff6a60a5260a_hd.jpg)
选择虚拟硬盘文件类型,默认即可,点击**下一步**。
![](https://pic1.zhimg.com/80/v2-0a1ae4c96cfbd4cd5f0b3fc509643868_hd.jpg)
默认即可,点击**下一步**。
![](https://pic1.zhimg.com/80/v2-4630b8d183df6cf3c202ffa7d0529b8c_hd.jpg)
默认即可,点击**创建**。
![](https://pic3.zhimg.com/80/v2-143b58059756d152071f7bf3da8db27e_hd.jpg)
### Step2.3 启动虚拟机
点击**启动**。
![](https://pic3.zhimg.com/80/v2-e3525b507feca91a67519ff6ec9d8cd2_hd.jpg)
选择我们刚才下载好的那个CentOS安装包
![](https://pic3.zhimg.com/80/v2-14888838f1d99a9d52234ed35633be02_hd.jpg)
选择好后如下,点击**启动**。
![](https://pic4.zhimg.com/80/v2-5afbc6a6d0f0ab31e0d373f9b63aec7f_hd.jpg)
默认是第二个,但我们选择第一个选项,直接安装CentOS7,不测试这个镜像是否损坏。
![](https://pic3.zhimg.com/80/v2-26a0156b6cd66bfc8f9f494be11f4496_hd.jpg)
稍等一下,我们就会看到语言选择界面,这里以中文为例,点击**继续**。
![](https://pic1.zhimg.com/80/v2-bb1955cc209ce03f4af69f04ee42f9b0_hd.jpg)
稍等一下,我们会看到如下界面,提示必须完成带有黄色感叹号的内容,才能进行下一步,我们点击**安装位置**。
![](https://pic3.zhimg.com/80/v2-2523a0b40302079bce65103a6622a702_hd.jpg)
如果不需要手动分区,直接点击**完成**即可。
![](https://pic4.zhimg.com/80/v2-14d994c690f479c3aad8c355f1124d97_hd.jpg)
此时黄色感叹号消失,我们现在点击**网络与主机名**。
![](https://pic4.zhimg.com/80/v2-34a2d6e60a762b061a5c2a5b9578aa33_hd.jpg)
这里选择打开以太网,减少后期对网络的配置,点击**完成**。
![](https://pic1.zhimg.com/80/v2-bf2824dfa1cf0fb82cc981fb3fdda820_hd.jpg)
点击**开始安装**。
![](https://pic2.zhimg.com/80/v2-3ed9e0ca55f96e16557093e3385478fd_hd.jpg)
点击**ROOT密码**。
![](https://pic1.zhimg.com/80/v2-346531c458eebc8a5511aa947c5eae88_hd.jpg)
我这里设置为**root**,点击两次**完成**即可。
![](https://pic4.zhimg.com/80/v2-dca2831a5a34836c2b4b616d9de6f70b_hd.jpg)
接下来需要耐心地等待安装。
![](https://pic3.zhimg.com/80/v2-c567b169a6c52b5f276b5042c0e9c40e_hd.jpg)
点击**重启**
![](https://pic3.zhimg.com/80/v2-c567b169a6c52b5f276b5042c0e9c40e_hd.jpg)
输入用户名和密码
![](https://pic1.zhimg.com/80/v2-fa097db4fea198ea4e3cdc1e26f68f60_hd.jpg)
~~~bash
#命令行输入以测试能否连接外网
ping baidu.com
~~~
![](https://pic1.zhimg.com/80/v2-1b9a26ae5839823046e12f484162316c_hd.jpg)
不出所料的话,你能ping通外网,但是现在虚拟机不能ping通主机,也就是你电脑主机没法与虚拟机通信。现在关闭虚拟机,点击**设置**。(注:此处参考了这篇[文章](https://link.zhihu.com/?target=https%3A//www.cnblogs.com/hihtml5/p/8217062.html))
![](https://pic2.zhimg.com/80/v2-0bffdf0d96aae93b95a16603afe9c329_hd.jpg)
选择**网络**,点击**网卡2**
![](https://pic1.zhimg.com/80/v2-9cc53010cc509bc14cf57e89c04b5274_hd.jpg)
选择启用**仅主机(Host only)网络**
![](https://pic2.zhimg.com/80/v2-8b169d82039eb6974a0a86d3c8ab86c5_hd.jpg)
启动虚拟机
命令行输入
~~~text
ip addr
~~~
![](https://pic2.zhimg.com/80/v2-9df2d57eb5158016a475b7e83fe18929_hd.jpg)
红色箭头所指的ip地址,主机即可通过这个ip地址与虚拟机进行通信
Windows电脑 ipconfig即可查看局域网中ip地址
可以尝试互相ping通。
* * *
## Step3 Xshell使用
你现在已经可以在本地通过命令行来操作CentOS,但很多时候我们是需要远程连接服务器,这里我们可以使用Xshell这款SSH客户端软件。
你可以免费注册使用Xshell,通过这个网址[家庭/学校免费 NetSarang Website](https://link.zhihu.com/?target=https%3A//www.netsarang.com/zh/free-for-home-school/)。
![](https://pic3.zhimg.com/80/v2-6b0d91f754a5586f7a757297932786ee_hd.jpg)
具体下载安装按提示即可,安装完成点击**新建会话**,会有如下界面。
在主机处输入你刚才查看到的**虚拟机ip地址**,我这里是192.168.56.102。
![](https://pic2.zhimg.com/80/v2-40d775f046adf333c00f4e12f671bd75_hd.jpg)
点击**用户身份验证**,输入用户名和密码(我这里是root,root),然后选择确定并连接。
![](https://pic4.zhimg.com/80/v2-470159f2fda4277aec261568d6d39b17_hd.jpg)
第一次连接会弹出个警告,选择**接受并保存**。
![](https://pic1.zhimg.com/80/v2-62404196130c263a52d54b6bd8fee530_hd.jpg)
到这里,表明你已经成功通过Xshell连接你的虚拟机了。
![](https://pic2.zhimg.com/80/v2-01c39446b54e3600c9a91371344bf5ad_hd.jpg)
* * *
## 补充
对于通过无线网连接的macOS宿主机而言,想要实现主机与虚拟机系统之间的网络通信,需要进行如下操作。
进入**主机网络管理器**,点击**创建,如下所示**。
![](https://pic1.zhimg.com/80/v2-761fcf064327567676c7748fe60baa74_hd.jpg)
在虚拟机的网络页面添加**仅主机(Host-Only)网络**,选择刚才创建的那个网络。
![](https://pic2.zhimg.com/80/v2-6ca402711079c2ddff71f908752429f1_hd.jpg)
- 简介
- 前端
- html
- css
- css选择器
- fiex布局
- 盒装模型
- javascript
- 原型链
- 作用域
- 事件绑定
- dom
- bom
- jquery
- 选择器
- jquery事件绑定
- layui
- bootstrap
- vue
- 路由(Vue Router)
- Vue CLI
- axios
- vant
- 打包部署
- 自定义组件
- 一些前端效果
- 点击复制功能
- 后端
- php框架
- thinkphp
- 隐藏index.php
- thinkphp实现多表查询
- thinkphp使用ajax单图上传
- thinkphp使用ajax图集上传
- thinkphp使用ajax查询是否重名
- thinkphp使用ajax表单上传
- where多个条件
- 邮件发送功能
- thinkphp短信宝发送短信
- tp5事务
- validate验证二维数组
- yii2
- yii配置邮件
- yii的CRUD操作
- layui中两种展示表单的方式
- laravel
- laravel实例
- laravel登录
- laravel前端注册
- laravel列表
- laravel删除
- laravel编辑
- laravel新增
- Laravel 目录结构
- Laravel 路由
- Laravel 控制器
- Laravel 模型读操作
- Laravel 模型增、删、改操作
- Laravel 中间件
- Laravel 视图
- Laravel ,YII,thinkphp 框架的区别
- 会话控制
- session
- session存入redis
- session创建
- session删除
- cookie
- 面向对象
- 三大特性
- 魔术方法
- 修饰符
- obj变量
- php
- php版本差异
- php7与php5的区别
- PHP 内存溢出问题
- 数据类型
- PHP 垃圾回收机制(GC)
- 文件目录操作
- php函数
- 字符串相关函数
- 数组相关函数
- 超全局数组与超全局变量
- php魔术方法
- 引用变量
- php类库
- 1.根据随机数生成6位密钥
- 2.获取客户端IP地址
- 3.多维数组变成一维数组
- 4.判断是否是微信浏览器
- 5.判断是否是移动端
- 6.隐藏手机号码156***8956
- 7.隐藏邮箱 9533*****@qq.com
- 8.数组排序
- 9.添加操作日志
- 10.无线分类按子分类排序
- 11.从数组中删除空白的元素
- 12.字符串相关类库
- curl模拟post/get请求
- 替换中间四位数
- PHP地理位置计算
- 生成唯一订单号
- 阿拉伯数字转化为大写
- 时间戳转为中文时间
- php获取本年、本月、本周时间戳和日期格式的实例代码(分析)
- 去除数据库的数据空格
- 压缩Zip文件和文件打包下载
- PHP常用六大设计模式
- 单例模式
- 工厂模式
- 注册树模式
- 策略模式
- 适配器模式
- 观察者模式
- 数据库
- 留言板功能
- 所了解的数据库
- sql server
- Memecached
- MongoDB
- mysql
- 存储引擎(MyISAM与InnoDB)
- 库表CRUD操作
- 索引
- 事务
- mysql常用命令
- 悲观锁和乐观锁
- 数据库优化
- 大流量大并发优化
- Redis
- redis相关考点
- 开启redis
- redis缓存cache
- redis存储session
- redis限制提交次数
- 缓存雪崩,击穿,穿透(copy)
- redis数据结构及使用场景
- 消息队列
- Redis、Memecached 区别?
- phpstudy升级mysql版本
- 分表
- 读写分离
- linux
- 开发环境搭建
- mysql配置
- centos7(lnmp)环境搭建
- ubuntu(lnmp)环境搭建
- Nginx
- nginx四个基本功能
- nginx重启出错
- Nginx 的反向代理
- 用户用户组
- 虚拟机安装
- linux常用命令
- chmod命令
- ubuntu下apt-get 命令
- 释放内存
- 云锁安装及使用
- 大部队搭建
- Centos开启端口命令
- Centos禁止root登录
- Centos7修改22端口
- Rsync备份
- 开启端口
- 微信开发
- 辅助开发
- 网站SEO
- TCP/IP协议
- HTTP 请求全过程
- http状态码
- http和https的区别
- http请求三部分
- tcp三次握手
- 三次握手的作用
- tcp四次挥手
- CMS
- 织梦CMS
- 帝国cms
- wordpress
- 禅知cms
- 八大接口
- 微信支付
- 支付宝支付
- 邮件
- 微博登录
- QQ登录
- 快递
- 天气
- 常见算法
- 快速排序
- 冒泡排序
- 选择排序
- 插入排序
- 二分查找
- 希尔排序
- V2Ray搭建
- AJAX
- GIT
- RBAC用户权限管理数据库设计
- 开发中遇到的一些问题
- 资料购买
- 建立ssr服务器
- 简单建
- 申请并使用ssl证书
- 正则表达式手册
- phpstorm
- 注册码
- 备用注册码
- 网站设计概要
- 网站相关功能代码
- 权限(RBAC/AUTH)
- 无限级分类
- 记住登录状态
- email找回密码
- 企业网站开发概要
- 网站后台
- 文章管理
- 栏目管理 CRUD 上级栏目
- 栏目管理
- 友情链接
- 操作日志
- 登录注册
- 权限管理
- 网站配置
- 网站前台
- 首页
- 新闻动态
- 联系
- 案例
- 关于
- 单店铺商城开发概要
- 面试准备
- 有意思的面试题
- 拉钩面试要求
- 慕课面试视频知识总结
- 面试题汇总
- 题目1
- 一些工作的要求
- 前端炒的
- 面试项目介绍
- MySQL面试100 问
- 术语库
- redis相关
- php操作redis
- redis消息队列(异步)
- redis消息队列(同步)