Windows下配置Linux开发环境 virtualbox + vagrant + Centos7

安装

Windows下开发最好装个虚拟机html

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

先去下载安装包git

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

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

http://www.vagrantbox.es/网络

建议安装1.9.7版本 我以前装了个1.9.3 各类坑app

安装完以后新建个目录例如devless

到dev目录下执行ssh

$ vagrant initide

这样就生成了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

相关文章
相关标签/搜索