使用vagrant+宝塔 搭建本地虚拟开发环境
vagrant简介
Vagrant 是一个用来构建和管理虚拟机环境的工具。Vagrant 有着易于使用的工作流并且专注于自动化降低了开发者搭建环境的时间提高了生产力。解决了“在我的机器上可以工作”的问题。
使用 Vagrant 可以很方便的就建立起来一个虚拟环境而且可以模拟多台虚拟机这样我们平时还可以在开发机模拟分布式系统。
如果团队有新员工加入只需要直接将已经打包好的 package里面包括开发工具代码库配置好的服务器等拿过来就可以工作了这对于提升工作效率非常有帮助。
优势
Vagrant 将在一个一次性的、一致的环境中隔离依赖项及其配置而不会影响你习惯使用的任何工具(编辑器、浏览器、调试器等)。一旦你或者其他人创建了一个 Vagrantfile你只需要执行 vagrant up 所有的东西就自动安装和配置了。你团队中的其他成员使用同一个配置文件来创建开发环境因此不管你工作在 LinuxMacOS X 还是 Windows 所有团队的成员都可以在统一的环境环境中运行代码这样就可以避免“在我的机器上可以工作”的问题。
本文是在macOS下搭建本地开发环境
virtualBox与vagrant的安装
- 到virtualBox官网下载最新版的virtualBox双击安装就好了。
- 到vagrant官网下载最新版的vagrant双击安装。
- 安装vagrantBox
-
也可以到vagrantBox下载自己需要的box文件下载速度可能有点慢所以提供一个该box的百度网盘下载地址链接: https://pan.baidu.com/s/16mQWj5ysdyraKRDjyJc0DQ 提取码: m2tx
-
使用方法如下
- 在工作目录下新建一个文件夹然后打开终端cd切换到新建的文件夹中输入 vagrant init 你的box名称这时会在当前文件夹中新建一个Vagrantfile文件其中包含了box的一切配置信息。
vagrant init centos7
- 在当前的目录下输入vagrant up启动vagrant第一次启动时间可能有点长耐心等待就好了。
vagrant up
- 如果是用其他软件下载的 box 文件下载完之后需要在终端执行 vagrant box add ‘你给box起的别名’ box文件名, 来添加新的 box ,再执行 vagrant init ‘你给box起的别名’ ,来初始化 box 最后再执行 vagrant up 启动虚拟机。
- vagrant box add centos7 centos-7 //添加box - vagrant init centos7 //初始化box - vagrant up //启动
- 连接虚拟机
vagrant ssh
- 在工作目录下新建一个文件夹然后打开终端cd切换到新建的文件夹中输入 vagrant init 你的box名称这时会在当前文件夹中新建一个Vagrantfile文件其中包含了box的一切配置信息。
vagrant配置
在新建的文件夹中有个Vagrantfile文件这个文件中包含了此box的所有配置我们需要对它进行一些简单的配置修改。
-
box 名称设置
config.vm.box = "centos7"
上面这配置展示了 Vagrant 要去启用那个box作为系统也就是前面我们输入 vagrant init <本地 box 名称>时所指定的 box如果沒有输入 box 名称的话那么默认就是 base。 -
私有网络设置
找到 config.vm.network “private_network”, ip: “192.168.33.10” 这一行将其前面的 “#” 去掉这样做的目的是我们可以通过这个IP地址来访问虚拟机而不是通过端口转发这样会方便一些。
ip地址可以自行修改也可使用默认值。这个IP地址智能你自己这台机器能访问当前局域网内的其他人是访问不了的。
-
公共网络设置
找到 config.vm.network “public_network”同样去掉签前面的"#"可做如下修改:设置网络连接方式指定IP地址同局域网内的其他人可通过该IP访问你的虚拟机。
config.vm.network “public_network”,bridge:“en1: Wi-Fi (AirPort)”, ip:“192.168.1.110”
-
目录共享
/vagrant目录默认就是当前的开发目录这是在虚拟机开启的时候默认挂载同步的。我们还可以通过配置来设置额外的同步目录
# 第一个参数是主机的目录第二个参数是虚拟机挂载的目录第三个参数是设置项目中文件权限,最后2个是设置文件拥有者及所有用户组 config.vm.synced_folder "/Users/Hello/Desktop/demo/www", "/www/wwwroot",:mount_options=>["dmode=775","fmode=775"],owner:"www",group:"www"
-
设置虚拟机内存(根据自身需求进行调整)
config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: vb.memory = "2048" end
-
基本配置完成后就可以 vagrant up 打开虚拟机了。
- 之后每次对配置文件进行修改后都要重载box 重载命令 vagrant provision && vagrant reload。
安装宝塔linux面板
过程如下
-
打开虚拟机 vagrant up,进入虚拟机 vagrant ssh
-
sudo su 到root用户
-
输入安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
-
等待安装完毕
安装完毕后在终端可以看到宝塔给出了地址、默认的用户名和密码现在打开浏览器输入 地址(把地址中的IP缓存之前配置文件中的192.168.33.10) 进入宝塔面板的登录界面输入用户名密码进入面板系统会提示你安装服务器所需要的软件安装即可。
宝塔网站站点设置
以lnmp环境为例在安装宝塔linux面板中最后安装系统提示选择安装lnmp环境。
-
选择网站点击添加站点
-
添加网站
- 填写域名
- 网站备注
- 选择项目根目录
- PHP版本(选择自己安装的PHP版本)
- ftp、数据库可根据需要选择创建或不创建
- 最后提交
-
创建完成
操作中的’设置’点击可对网站站点进行修改
-
配置本地host
站点创建完成之后把网站域名添加到本地host中才能访问。
#打开并编辑hosts ~demo: vi /etc/hosts #把 192.168.1.110 adm.new.cn添加到host中,保存退出 192.168.1.110 adm.new.cn
在浏览器中输入 adm.new.cn,结果如下:
访问成功并输出结果