## Vagrant 常見問題解答
### 常見命令
### 常見問題
#### 1.如果Vagrant有很多box,如何切換不同的box
因為每個box的安裝路徑都是不一樣的,所以每次通過`vagrant up`命令去啟動時,只要切換到指定box的目錄下執行命令`vagrant up`就可以了。
#### 2.vagrant如何同時啟動使用多個box(待解決)
```shell
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 80 is already in use
on the host machine.
To fix this, modify your current project's Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:
config.vm.network :forwarded_port, guest: 80, host: 1234
Sometimes, Vagrant will attempt to auto-correct this for you. In this
case, Vagrant was unable to. This is usually because the guest machine
is in a state which doesn't allow modifying port forwarding. You could
try 'vagrant reload' (equivalent of running a halt followed by an up)
so vagrant can attempt to auto-correct this upon booting. Be warned
that any unsaved work might be lost.
```
#### 3.簡單了解Vagrant的網絡三模式
> 1、較為常用是端口映射,就是將虛擬機中的端口映射到宿主機對應的端口直接使用 ,在Vagrantfile中配置:(目前在用)
>
> ```
> config.vm.network :forwarded_port, guest: 80, host: 8080
> 【guest: 80 表示虛擬機中的80端口, host: 8080 表示映射到宿主機的8080端口。】
> ```
>
> 2、如果需要自己自由的訪問虛擬機,但是別人不需要訪問虛擬機,可以使用private_network,并為虛擬機設置IP ,在Vagrantfile中配置:
>
> ```
> config.vm.network :private_network, ip: "192.168.1.104"
> 【192.168.1.104 表示虛擬機的IP,多臺虛擬機的話需要互相訪問的話,設置在相同網段即可】
> ```
>
> 3、如果需要將虛擬機作為當前局域網中的一臺計算機,由局域網進行DHCP,那么在Vagrantfile中配置:
>
> ```
> config.vm.network :public_network
> ```
#### 4.vagrant官網是什么
https://www.vagrantup.com/
#### 5.如何給虛擬機指定私有的固定IP
> 參考文章:https://blog.csdn.net/stones_liu/article/details/86764892
```php
//1.打開vagrant配置文件,修改下面配置:
config.vm.network "private_network", ip: "192.168.33.10"
//2.重新啟動vagrant
$ vagrant reload
//3.在虛擬機下輸入命令查詢ip,下面enp0s8就是我們剛剛修改的固定IP
$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fede:e0e prefixlen 64 scopeid 0x20<link>
ether 08:00:27:de:0e:0e txqueuelen 1000 (Ethernet)
RX packets 476 bytes 48920 (47.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 330 bytes 42988 (41.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.33.10 netmask 255.255.255.0 broadcast 192.168.33.255
inet6 fe80::a00:27ff:fee1:8c65 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:e1:8c:65 txqueuelen 1000 (Ethernet)
RX packets 13 bytes 2041 (1.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 3042 (2.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Lokale Schleife)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
//4.同時打開配置文件看一下
$ cd /etc/sysconfig/network-scripts/
$ cat ifcfg-enp0s8
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.33.10
NETMASK=255.255.255.0
DEVICE=enp0s8
PEERDNS=no
#VAGRANT-END
```
#### 6.vagrant中文文檔翻譯
https://blog.csdn.net/kikajack/article/details/80057876
- 常見功能
- 第三方授權登錄
- 郵件發送
- 簡易聊天室
- 獲取各國匯率
- PHP獲取服務器硬件指標
- 數據上報之
- web開發
- 開發規范
- 前端
- 踩坑
- 將footer固定在底部
- bootstrap
- Metronic
- 用到的jquery插件
- bootstrap-hover-dropdown
- jquery.slimscroll
- jquery.blockui
- bootstrap-switch
- js.cookie
- moment
- bootstrap-daterangepicker
- morris
- raphael
- jquery.waypoints
- jquery.counterup
- select2
- 取值和設置默認值
- vue
- axios
- 瀏覽器
- 谷歌瀏覽器
- 谷歌插件
- layui
- layui-表格
- layui-表單
- layui-彈窗
- layui-分頁
- 后端
- 操作系統
- linux
- 用戶管理
- 文件管理
- 目錄管理
- 壓縮和解壓縮
- 進程查看
- 端口查看
- 開機自啟動服務
- 定時任務
- shell腳本
- 殺掉運行超過指定時長指定服務的進程
- 獲取服務器使用狀態
- bash-shell連接socket
- 自定義快捷命令
- centos-踩坑
- 防火墻
- 軟件
- yum
- vim
- screen
- window
- 語言
- PHP
- 配置優化
- 框架
- thinkphp5.1+
- think命令行
- laravel6.+
- 維護模式
- 根據環境讀取不同配置
- laravel6.+采坑
- laravel坑位
- 數據庫事務
- 任務調度
- 文件權限問題
- 增強框架
- larvel:elastic-search
- 圖形驗證碼
- laravel獲取ip
- 函數
- strtotime
- 正則匹配
- 類
- 接口類與抽象類
- 類相關的關鍵字 - abstract
- 類相關的關鍵字 - interface
- PHP有關類的調用方式"->"與"::"的區別
- 擴展
- 問題歸納
- json_encode和json_decode
- 字符串的運算
- curl
- 優化php效率
- 數組相加合并與array_merge
- 時區轉換
- 不常用特性
- php反射
- 包管理器-composer
- GuzzleHttp
- Python
- Go
- 數據庫
- Redis
- 安裝
- 本地化-數據備份
- php-redis操作
- Mysql
- mysql-命令集合
- 設置終端可訪問
- 數據庫設計
- 用戶基礎信息表
- 踩坑集合
- mysql-2002
- mysql-2054
- 優化策略
- mysql-密碼驗證插件
- 一些牛逼的sql查詢
- topN
- 無限級分類
- Memcache
- MongoDb
- 安裝mongo-server
- 安裝php-mongodb擴展
- 在laravel中使用mongoDB
- 客戶端軟件
- Hbase
- Elasticsearch
- elastic-search
- restfulApi操作es
- web服務器
- 1.nginx
- 配置語法規則
- 配置詳解
- rewrite規則
- request_filename
- 2.apache
- 功能設計
- 加密解密
- Base64
- 對亞馬遜SKU加密
- 兼職項目中的加解密
- 騰訊外包時的加密
- 接口設計
- 接口限流設計
- 分庫分表
- 遍歷展示文件目錄結構
- 時區換算
- 文件切割
- 解析xml字符串
- 項目
- 博客后臺管理
- 亞馬遜廣告API
- 官方指引文檔
- 開發人員中心
- 應用商店
- 第三方庫
- 申請API郵件記錄
- 亞馬遜MWS
- 付款報告
- 亂碼
- 亞馬遜管理庫存報告
- 報告
- 商品
- 入庫
- 履行
- 出庫
- 財務
- 訂單
- 異步任務處理
- 集群如何同步代碼
- 基本開發流程
- 文檔管理
- showdoc
- 運行環境
- 開發環境
- vagrant
- windows上配置安裝
- vagrant安裝插件緩慢
- 更換ssh默認端口映射
- 設置x-shell密碼登錄
- 使用市場的box-homestead
- homestead-7: Box 'lc/homestead'
- 常見問題
- 虛擬環境reboot
- 突然無法使用
- phpStudy
- wamp
- 壓測性能
- VPN
- vultr
- 凌空圖床
- 寶塔
- 自動化部署
- 版本管理軟件鉤子
- 線上環境-LNMP
- centos7
- nginx
- mysql
- mysql開機自啟
- mysql-更換默認端口
- datetime字段類型默認值
- php
- php擴展安裝
- redis
- swoole
- gd
- BCMath
- igbinary
- zstd
- 包管理器:composer
- 優化性能
- nodejs
- 更新gcc版本
- 版本控制
- git
- 常用命令
- gitlab
- 版本管理規范
- 使用阿里云創建遠程倉庫
- git自動化部署
- svn
- 忽略指定文件
- 拉取代碼
- 自動化運維
- jekins
- 容器
- 集群
- 架構設計
- 設計原則
- 閱讀參考
- 代碼規劃
- 架構實戰
- 服務治理
- 權限控制設計
- 具體設計
- 計劃
- 疑問知識點
- 讀書筆記
- 高性能Mysql
- TCP-IP詳解-卷一:協議
- 思考
- php如何實現并發執行
- 對接調用設計
- 如何在瀏覽器上實現插件
- 如何設計一個app結合業務告警
- mysql的where查詢沒有用到索引
- 為啥in查詢比循環嵌套sql的查詢還要慢
- 使用git來創建屬于自己的composer包
- 翻頁獲取數據的時候又新增了數據
- 安全思路
- 月報
- PHP ?? 和 ?: 的區別
- PHP異步執行
- redis集群的目標是什么
- 大文件數據處理
- 性能瓶頸分析
- 命令行里輸出帶顏色的字體
- 面試問題合集
- 基礎
- 安全
- 算法
- 冒泡排序
- 快速排序
- 二分法查詢數組指定成員
- 字符查找匹配
- 令牌桶
- 漏桶
- 計數器
- 代理
- 協議
- http
- 狀態碼
- tcp
- udp
- Oauth2.0
- 設計模式
- 單例模式
- 適配器模式
- 工廠模式
- 觀察者模式
- 流程化
- 地址欄輸入網址到返回網頁的流程
- 題目收集
- 工具
- rabbitMq
- rabbitMQ用戶管理
- 生產者
- 消費者
- 支持TP5.*的think-queue
- 消息丟失
- 消費者報錯
- rabbitMQ配置優化
- 磁盤滿載導致服務掛掉
- PHP類庫
- rabbitMQ踩坑
- navicat
- vscode
- phpstorm
- 激活碼
- markdown
- PHP自定義類庫
- 工具類
- 領導力
- 任務分配
- 代碼組織
- 不要重復
- 避免污染
- 接口定義規范
- 小業務需求
- 獲取充值面額組成
- 監控服務器CPU和內存
- shell腳本版本