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

相關文章
相關標籤/搜索