1

安装

Windows下开发最好装个虚拟机

这里选择virtualbox(虚拟机) + vagrant(虚拟机管理工具) + Centos7(系统)

先去下载安装包

https://www.virtualbox.org/wi...

https://www.vagrantup.com/dow...

http://www.vagrantbox.es/

建议安装1.9.7版本 我之前装了个1.9.3 各种坑

安装完之后新建个目录例如dev

到dev目录下执行

$ vagrant init

这样就生成了Vagrantfile

然后

$ vagrant init centos/7
$ vagrant up --provider virtualbox

这样会直接从镜像下载,比较慢

还是建议从官网下载box,然后从本地加载
官网地址 https://app.vagrantup.com/box...

$ vagrant box add centos7 D:/boxes/centos-7.1-x86_64.box
$ vagrant init centos7
$ vagrant up

配置

Vagrantfile的基本配置

Vagrant.configure("2") do |config|
    config.vm.box = "centos7" #box的名字
    config.vm.network "forwarded_port", guest: 80, host: 8088 #映射端口 主机8088到虚拟机80
    config.vm.network :"public_network",ip: "192.168.10.216"#虚拟机外网可以访问,局域网IP
    config.vm.synced_folder "./data", "/vagrant_data" #共享目录 /vagrant_data是虚拟机中的目录
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "4096" #分配内存
  end
end

如果用auth key登录总是失败的话可以直接用账号密码登录

Vagrant.configure("2") do |config|
    config.ssh.username = "vagrant"  
    config.ssh.password = "vagrant"  
    
    config.ssh.insert_key = false 
end

配置好以后启动

Windows下面是不能直接SSH连接的,其他系统可以用
$ vagrant ssh 直接连

Windows下就用SSH工具即可

在Windows命令行里面输入 $ vagrant ssh 可以显示 SSH的信息

用生成的私钥或者密码登录即可

如果在启动的过程中出现

VT-x is disabled in the BIOS for all CPU

VT-x就是CPU虚拟化,重启进入BIOS开启即可

另外需要
安装 VirtualBox Guest Additions 在UI界面下可以找到

插件 https://github.com/dotless-de...

虚拟机联网一共有三种方式

  • 较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
    config.vm.network :forwarded_port, guest: 80, host: 8080

guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

  • 如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
    config.vm.network :private_network, ip: "192.168.1.104"

192.168.1.104表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

  • 如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
    config.vm.network :public_network, ip: "192.168.1.25"

这里需要注意,有可能出现网络配置完成以后安装nginx还是不能访问虚拟机的情况,可以考虑关闭防火墙试试

systemctl stop firewalld.service

常用命令

虚拟机关机:vagrant halt

虚拟机挂起:vagrant suspend

虚拟机恢复:vagrant resume

删除虚拟机:vagrant destory

查看虚拟机运行状态: vagrant status

重启虚拟机: vagrant reload

打包分发: vagrant package


煮茶
217 声望13 粉丝

PHP,Magento2,laravel