zoukankan      html  css  js  c++  java
  • vagrant 入门第四篇

    Vagrant 入门 - 配置

    原文地址

    现在我们已经有了一个运行 Ubuntu 的虚拟机,并且可以在宿主机上编辑文件并自动同步到虚拟机。现在让我们安装一个 web 服务器,通过服务器访问这些文件。

    可以通过 SSH 进入并安装一个 web 服务器并开始工作,但每个使用 Vagrant 的人都必须这样做。相反,Vagrant 内置了对自动配置的支持。使用此功能时,Vagrant 将在执行 vagrant up 时自动安装软件,以便 guest 机器可以重复创建并可立即使用。

    1. 安装 Apache

    可以通过 shell 脚本来为刚才的项目设置 Apache。创建下面的 shell 脚本并命名为 bootstrap.sh,保存在 Vagrantfile 文件相同的目录下:

    #!/usr/bin/env bash
    
    apt-get update
    apt-get install -y apache2
    if ! [ -L /var/www ]; then
      rm -rf /var/www
      ln -fs /vagrant /var/www
    fi12345678
    

    然后,配置 Vagrant 在设置机器的时候运行这个脚本。编辑 Vagrantfile 文件:

    Vagrant.configure("2") do |config|
      config.vm.box = "hashicorp/precise64"
      config.vm.provision :shell, path: "bootstrap.sh"
    end1234
    

    “provision” 行是新添加的,告诉 Vagrant 使用 shell 命令执行 bootstrap.sh 文件来设置虚拟机。文件路径是相对于 Vagrantfile 文件所在的项目根目录的相对路径。

    2. 配置

    配置写完后,执行 vagrant up,Vagrant 会自动配置。可以在终端看到 shell 脚本的输出。如果虚拟机已经启动了,则需要执行 vagrant reload --provision,这会快速重启虚拟机并跳过初始化导入阶段。因为 Vagrant 只会在第一次 vagrant up 启动虚拟机的时候自动运行 provisioner,所以需要在 reload 命令中使用 provision 标志指示 Vagrant 必须运行 provisioner。

    Vagrant 运行结束后,web 服务器会成功运行。现在还不能在宿主机的浏览器上查看网页,但可以在通过 SSH 进入虚拟机后,通过加载文件来判断配置是否生效:

    $ vagrant ssh
    ...
    vagrant@precise64:~$ wget -qO- 127.0.0.1123
    

    上面例子会正常工作。我们安装 Apache 并设置其默认的 DocumentRoot 指向我们的 /vagrant 这个默认的同步目录。

    可以创建更多文件并在终端查看,下一步需要配置网络选项以便用宿主机的浏览器访问虚拟机。

    对于复杂的配置脚本,将自定义的 Vagrant box 与预先安装的软件包打包在一起,而不是每次构建它们可能会更高效。入门指南未涵盖此主题,但可以在 自定义 box 文档中找到该主题。

  • 相关阅读:
    Android SDK上手指南1:应用程序结构
    【转】kalman滤波
    VHDL学习笔记——数字系统设计
    VHDL基础 学习笔记
    Windows命令行(DOS命令)教程
    PHP-内嵌式语言(转)(未看)
    Java并发编程的艺术笔记(三)——Thread.join()
    Java并发编程的艺术笔记(二)——wait/notify机制
    Java并发编程的艺术笔记(一)——volatile和syncronized关键字
    Java虚拟机JVM详解
  • 原文地址:https://www.cnblogs.com/liuwei-xd/p/11020283.html
Copyright © 2011-2022 走看看