参考:
软件
- vagrant
- virtual box
- ubuntu.box 镜像
laravel框架提供的虚拟机镜像,封装了常用的软件 - sshfs manager
- ntfs 共享目录
解释
- 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
- 用途:
- sshfs manager(适合需要Linux硬盘格式的编程)
使用 windows,远程挂载 Linux 目录。不采用通用的 Linux下挂载Windows共享目录。可以避免文件格式的问题。 - 共享目录 - ntfs格式(高速)
日常编程开发目录使用 - 开机启动脚本
config.vm.provision :shell, path: "bootstrap.sh", run: 'always' - winnfsd插件安装
- 命令:
vagrant plugin install vagrant-winnfsd - 离线安装:
- 下载地址:
- 下载后安装:
vagrant plugin install vagrant-winnfsd-1.1.0.gem
- 下载地址:
- 参考:
- 命令:
配置
- virtual box:
采用 4.3.12版本, win10 采用补丁包 VBox-Win10-fix-14040.exe - sshfs manager
需要 DokanInstall_0.6.0.exe + win-sshfs-0.0.1.5-setup.exe
参考: - vagrantfile:
相关配置点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
- boostrap.sh
# echo I am provisioning... >> /tmp/mi.log # 写入自己的dns echo "namseserver 127.0.0.1" > /etc/resolv.conf
- VagrantFile