# 進階教程
## 1. 網絡配置
> vagrant中一共提供了三種網絡配置。這幾種配置可以在vagrant的配置文件中看到。
1. 端口映射(Forwarded port)
> 這種方式,就是把本機和虛擬機的端口進行映射。比如:我配置本機計算機的8080端口為虛擬機的80端口,這樣我訪問該機器的8080端口,vagrant會把請求轉發到虛擬機的80端口是那個去處理。
```ruby
config.vm.network "forwarded_port", guest: 80, host: 8080
```
> 通過這種方式,我們可以有針對性的把虛擬機的某些端口公布到外網讓其他人去訪問。
2. 私有網絡(Private network)
> 既然是private,那么這種方式是只允許主機訪問虛擬機。如果多個虛擬機設定在同一個網段,那么幾個虛擬機之間也可以互相訪問。這種方式,就好像是搭建了一個私有的linux集群。而且只有一個出口,那就是該主機。
```ruby
config.vm.network "private_network", ip: "192.168.21.4"
```
> 使用這種方式,非常安全,因為只有一個出口,但是你的虛擬機只允許你自己進行操作。團隊成員不能操作,那你的電腦就成服務器主機了。
3. 公有網絡(Public network)
> 虛擬機享受實體機器一樣的待遇,一樣的網絡配置,vagrant1.3版本之后也可以設定靜態IP。設定語法如下:
```ruby
config.vm.network "public_network", ip: "192.168.1.120"
```
> 這種網絡配置方式,方便團隊開發,別人也可以訪問你的虛擬機。當然,你和你的虛擬機必須在同一個網段中。
> 修改vagrantFile文件,重新執行vagrant up命令,重啟虛擬機即可生效。
來源:[CSDN-趙崇](https://blog.csdn.net/zc474235918/article/details/51039150?foxhandler=RssReadRenderProcessHandler)
## 文件同步
1. synced_folder (主宿同步)
> 此方式用于把物理機的目錄同步到虛擬機里某個目錄。第一個參數是主機的相對位置,第二個是虛擬機的絕對路徑,如果沒有,會遞歸自動創建。
```ruby
config.vm.synced_folder "/wwwroot/html", "/var/www/html"
```
**同步掛載目錄出錯解決辦法:** [segmentfault](https://segmentfault.com/a/1190000002869922)
2. 通過NFS共享
3. 通過rsync共享
- 前言
- PHP進階之路
- 1.LANMP的環境安裝
- C與數據結構
- PYTHON
- JAVA
- GO入門實踐
- 1.入門語法
- 1.安裝配置GO環境
- 2.數據類型定義
- 3.運算符
- 4.控制語句
- 5.數組
- 6.切片
- 7.函數
- 8.結構體
- 注意事項
- Linux爬坑之路
- 1.zabbix服務
- 1.在龍芯Fedora機器上部署
- Git版本控制
- 0.工作流程與原理
- 1.安裝Git
- 2.安裝后配置
- 3.基礎命令
- 數據庫實踐
- 1.SQL基礎語法
- 1.基本語法
- 2.MySQL實踐
- 1.數據庫常用操作
- Docker容器技術
- 1.Docker常用命令
- 2.進階
- Vagrant虛擬化技術
- 1.基本命令詳解
- 2.進階教程
- WEB前端之旅
- CSS入門
- 1.CSS選擇器
- 操作系統
- 雜談一之系統啟動引導