基礎環境:宿主機是**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(這里是出于學習的目的,選擇最小化安裝包)。

這里選擇官網推薦的第一個鏡像下載即可。

### Step2.2 初始化虛擬機
打開VirtualBox,點擊**新建**。

名稱和虛擬機文件存放路徑根據自己需要進行設置,類型選擇Other即可,點擊**下一步**。(注:測試時發現如果選擇Red Hat,后面鼠標無法正常使用在安裝的時候)
**提示:從這里到step2.3 啟動虛擬機之前可以一路默認點過去。**

分配內存(可以理解為虛擬機最大可占用宿主機的多少內存。),根據自己電腦配置和需要進行設置即可,我選擇它推薦的512M,點擊**下一步**。

選擇第二個**現在創建虛擬硬盤**即可,點擊**下一步**。

選擇虛擬硬盤文件類型,默認即可,點擊**下一步**。

默認即可,點擊**下一步**。

默認即可,點擊**創建**。

### Step2.3 啟動虛擬機
點擊**啟動**。

選擇我們剛才下載好的那個CentOS安裝包

選擇好后如下,點擊**啟動**。

默認是第二個,但我們選擇第一個選項,直接安裝CentOS7,不測試這個鏡像是否損壞。

稍等一下,我們就會看到語言選擇界面,這里以中文為例,點擊**繼續**。

稍等一下,我們會看到如下界面,提示必須完成帶有黃色感嘆號的內容,才能進行下一步,我們點擊**安裝位置**。

如果不需要手動分區,直接點擊**完成**即可。

此時黃色感嘆號消失,我們現在點擊**網絡與主機名**。

這里選擇打開以太網,減少后期對網絡的配置,點擊**完成**。

點擊**開始安裝**。

點擊**ROOT密碼**。

我這里設置為**root**,點擊兩次**完成**即可。

接下來需要耐心地等待安裝。

點擊**重啟**

輸入用戶名和密碼

~~~bash
#命令行輸入以測試能否連接外網
ping baidu.com
~~~

不出所料的話,你能ping通外網,但是現在虛擬機不能ping通主機,也就是你電腦主機沒法與虛擬機通信。現在關閉虛擬機,點擊**設置**。(注:此處參考了這篇[文章](https://link.zhihu.com/?target=https%3A//www.cnblogs.com/hihtml5/p/8217062.html))

選擇**網絡**,點擊**網卡2**

選擇啟用**僅主機(Host only)網絡**

啟動虛擬機
命令行輸入
~~~text
ip addr
~~~

紅色箭頭所指的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/)。

具體下載安裝按提示即可,安裝完成點擊**新建會話**,會有如下界面。
在主機處輸入你剛才查看到的**虛擬機ip地址**,我這里是192.168.56.102。

點擊**用戶身份驗證**,輸入用戶名和密碼(我這里是root,root),然后選擇確定并連接。

第一次連接會彈出個警告,選擇**接受并保存**。

到這里,表明你已經成功通過Xshell連接你的虛擬機了。

* * *
## 補充
對于通過無線網連接的macOS宿主機而言,想要實現主機與虛擬機系統之間的網絡通信,需要進行如下操作。
進入**主機網絡管理器**,點擊**創建,如下所示**。

在虛擬機的網絡頁面添加**僅主機(Host-Only)網絡**,選擇剛才創建的那個網絡。

- 簡介
- 前端
- 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消息隊列(同步)