# 进阶教程
## 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选择器
- 操作系统
- 杂谈一之系统启动引导