搜索
您的当前位置:首页正文

1.Init - windows 虚拟机开发环境

来源:二三娱乐

参考:


软件

  1. vagrant
  2. virtual box
  3. ubuntu.box 镜像
    laravel框架提供的虚拟机镜像,封装了常用的软件
  4. sshfs manager
  5. ntfs 共享目录

解释

  1. vagrant + virtual box + ubuntu.box
    • 用途:
      工作环境
    • 镜像地址:
    • 包含软件:
      Ubuntu 16.04
      Git
      PHP 7.0
      HHVM
      Nginx
      MySQL
      MariaDB
      Sqlite3
      Postgres
      Composer
      Node (附带了 PM2, Bower, Grunt, and Gulp)
      Redis
      Memcached
      Beanstalkd
      
  2. sshfs manager(适合需要Linux硬盘格式的编程)
    使用 windows,远程挂载 Linux 目录。不采用通用的 Linux下挂载Windows共享目录。可以避免文件格式的问题。
  3. 共享目录 - ntfs格式(高速)
    日常编程开发目录使用
  4. 开机启动脚本
    config.vm.provision :shell, path: "bootstrap.sh", run: 'always'
  5. winnfsd插件安装
    • 命令:
      vagrant plugin install vagrant-winnfsd
    • 离线安装:
      • 下载地址:
      • 下载后安装:
        vagrant plugin install vagrant-winnfsd-1.1.0.gem
    • 参考:

配置

  1. virtual box:
    采用 4.3.12版本, win10 采用补丁包 VBox-Win10-fix-14040.exe
  2. sshfs manager
    需要 DokanInstall_0.6.0.exe + win-sshfs-0.0.1.5-setup.exe
    参考:
  3. vagrantfile:
    相关配置点1
相关配置点2
  1. 我的个人配置
    1. VagrantFile
      Vagrant.configure("2") do |config|
        config.vm.box = "base"
        
        # ssh登陆用户名、密码
        config.ssh.username = "vagrant"
        config.ssh.password = "vagrant"
        
        # ip配置
         "forwarded_port", guest: 9991, host: 9991
         "private_network", ip: "192.168.33.10"
        
        # 此处是配置虚拟机采用局域网Ip, 如果没有则可以注释掉
         "public_network", bridge: "Realtek RTL8723BE Wireless LAN 802.11n PCI-E NIC"
      
        # 共享目录采用 nfs 格式
        #winfsd
        config.winnfsd.logging = "off"
        config.winnfsd.uid = 1
        config.winnfsd.gid = 1
        config.vm.synced_folder "D:/project", "/home/project", type: "nfs"
        
        # 是否开启gui模式启动, 此处一般用于调试
        # config.vm.provider "virtualbox" do |vb|
        #   vb.gui = true
        # end
      
        # 启动脚本 —— vagrant up 或 vagrant reload 时同时执行
        config.vm.provision :shell, path: "bootstrap.sh", run: 'always'
      end
      
    2. boostrap.sh
      # echo I am provisioning... >> /tmp/mi.log
      # 写入自己的dns
      echo "namseserver 127.0.0.1" > /etc/resolv.conf
      

参考

Top