zoukankan      html  css  js  c++  java
  • Mac OSX+VirtualBox+Vagrant+CentOS初体验

    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
  • 相关阅读:
    flutter 报错DioError [DioErrorType.DEFAULT]: Error on line 1, column 17: Invalid media type: expected no more input.
    flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform
    什么是负载测试?什么是性能测试?
    性能测试包含了哪些测试(至少举出3种)
    简述使用Loadrunner的步骤。
    什么时候可以开始执行性能测试?
    apache ab压力测试工具
    webbench 的安装以及使用
    python3 django 电影网站项目
    音乐网站 前端html5模版
  • 原文地址:https://www.cnblogs.com/xinjie10001/p/6240674.html
Copyright © 2011-2022 走看看