Mac OSX+VirtualBox+Vagrant+CentOS初体验
1.安装VirtualBox
VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包
2.安装并使用Vagrant
1)Vagrant下载地址 选择下载包
根据提示安装,用来管理各种系统镜像非常方便
安装完成后,在终端输入
vagrant -v
提示显示vagrant版本即安装成功并可使用,如图:
2) box系统镜像下载地址 下载Vagrant官方封装好的系统镜像
因为之前比较熟悉“red hat”,所以选择了目前最新版的centos7,这是我第一次使用centox,然而就开始了坑自己的路
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初体验的更多相关文章
- QT在Mac OS上编译运行初体验
QT是一个跨平台的框架,支持PC端(Windows.Linux和Mac OS)以及移动端(Android和IOS),之前的开发大都在Windows或者Ubuntu上,考虑到项目多平台支持性,本文对Ma ...
- CentOS 初体验三: Yum 安装、卸载软件
一:Yum 简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指 ...
- CentOS 初体验十四:阿里云安装Gitlab
网址:https://about.gitlab.com/install/#centos-7 https://blog.csdn.net/zhaoyanjun6/article/details/7914 ...
- 转 CentOS 初体验十四:阿里云安装Gitlab
原文 https://blog.csdn.net/zhaoyanjun6/article/details/79144175 非Unix操作系统(Windows) GitLab是专为Unix操作 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...
- Mac下nodeJS初体验
Mac下nodeJS初体验 这两天博主出门在外,抽空体验一下大名鼎鼎的node 安装 brew install node 安装测试 $ node -v v8.4.0 运行本地脚本 用文本编辑器编辑一段 ...
- Docker深入浅出系列 | 容器初体验
目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...
- K8S Kubernetes 简单介绍 转自 http://time-track.cn/kubernetes-trial.html Kubernetes初体验
这段时间学习了一下 git jenkins docker 最近也在看 Kubernetes 感觉写得很赞 也是对自己对于K8S 有了进一步得理解 感谢 倪 大神得Blog 也希望看到这篇Bl ...
随机推荐
- blocking and unblocking mechanism for linux drivern code
概念: 1> 阻塞操作 是指在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作.被挂起的进程进入休眠,被从调度器移走,直到条件满足: 2> 非阻塞操作 在 ...
- 推荐13款javascript模板引擎
javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...
- 你真的会玩SQL吗?EXISTS和IN之间的区别
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- 使用swagger作为restful api的doc文档生成
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
- AJAX(一)
AJAX(一) Ajax是Asynchronous Javascript和XML的简写,这一技术能够向服务器请求额外的数据而无需卸载页面,会带来更好的用户体验. [前面的基础知识][关于同步和异步的了 ...
- 卷积神经网络提取特征并用于SVM
模式识别课程的一次作业.其目标是对UCI的手写数字数据集进行识别,样本数量大约是1600个.图片大小为16x16.要求必须使用SVM作为二分类的分类器. 本文重点是如何使用卷积神经网络(CNN)来提取 ...
- 【Oracle基本操作1】 数据库的新建删除
一.新建数据库 1.新建数据库. 1.1打开 Database Configuration Assistant : 1.2选择新建数据库,下一步,选第一个"一般用途或事物处理": ...
- [示例] Firemonkey OnTouch 多点触控应用
说明:Firemonkey OnTouch 多点触控应用,可同时多指移动多个不同控件 原码下载:[原创]TestMultitouchMove_多点触控应用_by_Aone.zip 运行展示:
- C++_系列自学课程_第_11_课_类型转换_《C++ Primer 第四版》
上次说了关于表达式的一些内容,说到还有一些关于数据类型转换的内容,今天我们接着八一八C++中的数据类型转换. 一.隐式类型转换 在表达式中,有些操作符可以对多种类型的操作数进行操作, 例如 + 操作符 ...
- css3+jquery制作3d旋转相册
首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准 ...