1.安装VirtualBox

VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包

VirtualBox 安装包

2.安装并使用Vagrant

1)Vagrant下载地址 选择下载包

根据提示安装,用来管理各种系统镜像非常方便

安装完成后,在终端输入

vagrant -v

提示显示vagrant版本即安装成功并可使用,如图:

查看vagrant是否安装成功

2) box系统镜像下载地址 下载Vagrant官方封装好的系统镜像

因为之前比较熟悉“red hat”,所以选择了目前最新版的centos7,这是我第一次使用centox,然而就开始了坑自己的路

我使用的是centos7精简版

3)添加下载好的box系统镜像到Vagrant

找到自己2)中下载的box的存放路径,在终端输入

vagrant box add centos7 /Users/apple/Downloads/centos7.box

centos7 是给这个box系统镜像取得名字,想叫什么就是什么,就是这么自由!!!

/Users/apple/Downloads/centos7.box 是box系统镜像的存放路径,这个是我自己的路径,你要用你自己的哟!!!

这样就添加完成咯

3.配置开发环境

1)创建开发目录

cd ~/Desktop        # 切换目录

mkdir WebTest      #创建文件夹

cd WebTest           # 切换目录

2)初始化开发环境

在终端中输入

vagrant init centos7         #初始化

初始化开发环境成功

3)启动开发环境

在终端中输入

vagrant up        # 启动环境

然后就只有等待……

反正我是等来了“启动失败”,显示结果如图:

失败原因:找不到共享目录

启动失败

解决办法:

vagrant ssh      #进入虚拟机

sudo /etc/init.d/vboxadd setup     #此时在centos7中执行

执行成功

exit      #退出虚拟机

vagrant reload     #重新启动环境

重新启动环境成功

共享目录:~/Desktop/WebTest 目录对应虚拟机中的目录是 /vagrant

查看本机 ~/Desktop/WebTest 目录中 Vagrantfile 文件,我暂时只关心下面几个数据

config.vm.box = "centos7"        #添加box镜像到vagrant时取得名字

config.vm.network "private_network", ip: "192.168.33.10"        #虚拟机中系统的ip

vb.memory = "1024"            #为虚拟机中系统分配的内存大小

4.检测网络环境

从本机访问centos7:ping 192.168.33.10

正常

从centos7访问本机:ping 192.168.9.31

vagrant ssh      #登录到centos

cd /vagrant      #切换至共享目录

正常

看起来一切还ok!

但是,但是,但是……浏览器不可访问ip,这可难倒我了,完全不知道该怎么查问题,请教有文化的小伙纸,得真经,存在的原因:

1.http服务是否开启

2.防火墙状态

一步步解决问题……

首先安装http服务

sudo yum install httpd

启动http服务

sudo systemctl start httpd.service

设置http服务状态

sudo systemctl enable httpd

查看http服务的状态

sudo systemctl list-unit-files | grep enabled

检测防火墙状态,默认状态下是开启的,既然centos7改用了firewalld,那就用这个,不去深究iptables了

sudo firewall-cmd --stat

指定永久性开放http端口

sudo firewall-cmd --permanent --zone=public --add-service=http

查看80端口是否开放

sudo iptables -L -n | grep 21

为了使设定状态生效,重启服务器

sudo systemctl restart firewalld

至此http和防火墙设置完成

见证奇迹的时刻,在本机打开浏览器,输入虚拟机系统设定的ip地址和Apache服务的端口号80,我这里设置的是:

192.168.33.10:80

5.操作虚拟机

操作虚拟机时,必须进入刚刚建立的目录中去,这个目录中必须含有init命令建立的Vagrantfile文件。常用命令有

$ vagrant init  # 初始化
$ vagrant up # 启动虚拟机
$ vagrant halt # 关闭虚拟机
$ vagrant reload # 重启虚拟机
$ vagrant ssh # SSH 至虚拟机
$ vagrant status # 查看虚拟机运行状态
$ vagrant destroy # 销毁当前虚拟机

6.共享文件夹

通过Vagrant建立的虚拟机和Mac共享文件非常容易,虚拟机中/vagrant目录会映射到我们本地虚拟机目录中。例如

cd ~/Documents/Vagrant/Ubuntu
vagrant up
vagrant ssh
cd /vagrant
ls

这个时候,我们会看到,这里显示的文件和~/Documents/Vagrant/Ubuntu下是一样的。

7.共享Box

如果只有上述功能的话,那么Vagrant的作用就不是那么杀手级了。通过命令

vagrant package

可以将一个虚拟机打包成Box,供别人使用。别人只要用打包的box来创建一个虚拟机即可,例如

vagrant box add myubuntu ~/Documents/Vagrant/Ubunutu/ubunut.box

Mac OSX+VirtualBox+Vagrant+CentOS初体验的更多相关文章

  1. QT在Mac OS上编译运行初体验

    QT是一个跨平台的框架,支持PC端(Windows.Linux和Mac OS)以及移动端(Android和IOS),之前的开发大都在Windows或者Ubuntu上,考虑到项目多平台支持性,本文对Ma ...

  2. CentOS 初体验三: Yum 安装、卸载软件

    一:Yum 简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指 ...

  3. CentOS 初体验十四:阿里云安装Gitlab

    网址:https://about.gitlab.com/install/#centos-7 https://blog.csdn.net/zhaoyanjun6/article/details/7914 ...

  4. 转 CentOS 初体验十四:阿里云安装Gitlab

        原文 https://blog.csdn.net/zhaoyanjun6/article/details/79144175 非Unix操作系统(Windows) GitLab是专为Unix操作 ...

  5. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  6. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)

    Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...

  7. Mac下nodeJS初体验

    Mac下nodeJS初体验 这两天博主出门在外,抽空体验一下大名鼎鼎的node 安装 brew install node 安装测试 $ node -v v8.4.0 运行本地脚本 用文本编辑器编辑一段 ...

  8. Docker深入浅出系列 | 容器初体验

    目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...

  9. K8S Kubernetes 简单介绍 转自 http://time-track.cn/kubernetes-trial.html Kubernetes初体验

    这段时间学习了一下 git jenkins docker  最近也在看  Kubernetes  感觉写得很赞  也是对自己对于K8S 有了进一步得理解  感谢 倪 大神得Blog 也希望看到这篇Bl ...

随机推荐

  1. 压力测试之badboy和Jmeter的简单使用方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 所谓压力测试是指,通过确定一个系统的瓶颈或者不能接收的性能点, ...

  2. 【目录】JVM目录

    JVM学习目录 为了方便园友,现对JVM序列笔记做了归档,园友们可以一口气读完整个JVM的笔记 1. [JVM]JVM系列之JVM体系(一) 2. [JVM]JVM系列之垃圾回收(二) 3. [JVM ...

  3. 微信小程序基础入门

    准备 Demo 项目地址 https://github.com/zce/weapp-demo Clone or Download(需准备GIT环境) $ cd path/to/project/root ...

  4. Kafka 如何读取offset topic内容 (__consumer_offsets)

    众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsets topic,并 ...

  5. TagHelper是怎么实现的

    众所周知,在asp.net core中编写Razor视图的时候,用了一种新的写法--TagHelper 那这个TagHelper是怎么回事呢? 首先来看看TagHelper的项目位置,它是位于Micr ...

  6. django+mysql学习笔记

    这段时间在学习mysql+django的知识点.借此记录以下学习过程遇到的坑以及心得. 使用的工具是navicat for mysql python 2.7.12 mysql-python 1.2.3 ...

  7. 【Spring】SpringMVC中浅析Date类型数据的传递

    在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...

  8. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  9. Stream

    Stream的好处 1.Stream AP的引入弥补了JAVA函数式编程的缺陷.2.Stream相比集合类占用内存更小:集合类里的元素是存储在内存里的,Stream里的元素是在访问的时候才被计算出来. ...

  10. px-rem 一个将px转换为rem的工具

    将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 怎样转换静态文件 安装: npm install px-rem -g 然后跑下命令 ...