使用虚拟机 (VM) 来运行 SQL 数据库服务器

安装虚拟机

VM 是运行在你自己的计算机上的 Linux 服务器系统。你可以在计算机和虚拟机之间轻松共享文件; 并且,你将可以在虚拟机内部运行 Web 服务,然后从常规浏览器访问该服务。

我们会使用 VagrantVirtualBox 工具来安装和管理虚拟机。本页的说明可以协助你完成安装。


使用终端

如果你是** Mac 或 Linux 系统,使用其常规终端即可。在 Windows 上,我们建议使用 Git 软件附带的 Git Bash **终端。 如果你还没有安装 Git,请从 git-scm.com下载。

要复习 Unix 命令行相关内容,可以回看我们的Linux Command Line Basics 课程.

如果你想要了解更多有关 Git 的知识,可以查看 如何使用 Git 和 Github


安装 VirtualBox

VirtualBox 是实际运行虚拟机的软件,你可以从 virtualbox.org 下载 。为你的操作系统安装 平台安装包 ,不需要扩展包或 SDK。安装后,你不需要启动 VirtualBox ,而 Vagrant 需要这样做。

Ubuntu 用户: 如果你正在使用 Ubuntu 14.04,请使用 Ubuntu 软件中心安装 VirtualBox。由于已知错误,使用上面的站点安装 VirtualBox 可能会卸载你需要的其他软件。


安装 Vagrant

Vagrant 是配置虚拟机的软件,可让你在主机器和虚拟机的文件系统之间共享文件。 在 vagrantup.com 下载 安装过你的操作系统的对应版本。

Windows 用户: 安装程序可能会要求你向 Vagrant 授予网络权限,或提示放火墙异常,请一定要选择允许操作。

image.png

如果 Vagrant 安装成功,你将能够在终端中运行 vagrant --version 命令来查看版本号。你的终端中的 shell 提示符可能会不同。这里的 $ 符号就是 shell 提示符。](https://classroom.udacity.com/courses/ud197/lessons/3423258756/concepts/14c72fe3-e3fe-4959-9c4b-467cf5b7c3a0#)

下载虚拟机配置

虚拟机配置文件: FSND-Virtual-Machine.zip

将该文件下载到你的计算机上并解压。你将会得到一个叫做 FSND-Virtual-Machine 的目录。它可能位于你的 Downloads 文件夹。

在终端中使用 cd 改为 FSND-Virtual-Machine 目录,其中你会发现另一个名为 vagrant的目录,用 cd 进入该目录:

image.png

浏览到 FSND-Virtual-Machine 目录并列出其中的文件。 这张图片是在 Mac 上截取的,但在 Windows 上的 Git Bash 中,命令将会相同。](https://classroom.udacity.com/courses/ud197/lessons/3423258756/concepts/14c72fe3-e3fe-4959-9c4b-467cf5b7c3a0#)

启动虚拟机

在你的终端,在 vagrant 子目录中,运行命令 vagrant up 。这将使 Vagrant 下载 Linux 操作系统并进行安装。可能需要很长时间,具体取决于你的网速。

image.png

使用 vagrant up 启动 Ubuntu Linux 的安装。 这张屏幕截图只展示了开头的页面,后面还会有很多很多页,用很多种颜色输出。](https://classroom.udacity.com/courses/ud197/lessons/3423258756/concepts/14c72fe3-e3fe-4959-9c4b-467cf5b7c3a0#)

vagrant up 停止运行时,你可以重新看到你的 shell 提示符(比如 $ )。此时,你可以运行 vagrant ssh 登录到新安装的 Linux 虚拟机!

image.png

使用 vagrant ssh 登录 Linux 虚拟机.](https://classroom.udacity.com/courses/ud197/lessons/3423258756/concepts/14c72fe3-e3fe-4959-9c4b-467cf5b7c3a0#)

如果你已经登录到你的 Linux 虚拟机,恭喜你!如果没有,请查看下面的疑难解答部分。

文件

在虚拟机内部,将目录更改为 /vagrant',并用ls` 查看。

你在这里看到的文件与计算机上的 vagrant 子目录(启动 Vagrant 的位置)中的文件相同。你在其中创建的任意文件都会自动共享给对方。这意味着你可以在自己喜欢的文本编辑器中编辑代码,然后在虚拟机内运行它。

虚拟机的 /vagrant 目录中的文件,与计算机的 vagrant 文件夹共享。但是虚拟机中的其他数据并不会。例如:PostgreSQL 数据库本身只存在与虚拟机中。

运行数据库

PostgreSQL 数据库服务器将自动在虚拟机中启动。你可以使用 psql 命令行工具来访问它,并运行 SQL 语句:

image.png

运行 psql,PostgreSQL 命令行界面,位于虚拟机中](https://classroom.udacity.com/courses/ud197/lessons/3423258756/concepts/14c72fe3-e3fe-4959-9c4b-467cf5b7c3a0#)

登录登出

如果你在虚拟机内的 shell 提示符后键入 exit (或者 Ctrl-D) ,那么你将被注销,然后回到主机器的 shell 中。要重新登录,请确保你在同一目录中,再次输入 vagrant ssh

如果重启计算机,你需要运行 vagrant up 来重启虚拟机。


疑难解答

我不确定是否成功安装

如果你可以输入 vagrant ssh 并登录你的虚拟机,那就行了!vagrant up 进程显示许多颜色的文本是正常的,包括一些看起来很吓人的颜色:红色,绿色和紫色等只要你在最后看到 shell 提示符回来,并且你可以登录,就可以了。

vagrant up 花了很长时间,为什么?

因为它是从互联网下载整个 Linux 操作系统。

使用 Windows 遇到虚拟化错误

有时其他的虚拟化程序(比如 Docker 或者 Hyper-V)可能会干扰到 VirtualBox。尝试先关闭这些其他程序。

此外,某些 Windows PC 在 BIOS 、 UEFI(固件)或操作系统中设置了禁用虚拟化功能。要更改此设置,你可能需要重新启动计算机并访问固件设置。这个 google 搜索结果 可以帮助你找到计算机和操作系统的设置。遗憾的是,由于有这么多不同版本的 Windows 和 PC,我们不能提供一个简单的指南来指导操作。

为什么我们要使用虚拟机?看起来很复杂

确实很复杂。使用虚拟机,可以保证无论你运行什么类型的计算机,它都可以提供相同的软件(Linux 和 PostgreSQL)。

遇到一些其他错误

如果你收到特定的错误消息文字,请尝试使用你喜欢的搜索引擎查找原因。如果没有获得帮助,请将截图和并关于你浏览过程的详细信息发布到论坛。

辅助材料

FSND-Virtual-Machine.zip

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 开发需要在各种系统上进行开发任务,运维则需要在各种系统上学习工具使用。因此,虚拟机恐怕也是 IT 人员最常使用的工...
    李广慧阅读 5,535评论 3 24
  • 一、Vagrant 介绍 Vagrant 是一个软件,可以自动化虚拟机的安装和配置流程,用来管理虚拟机,如 Vir...
    zpei0411阅读 3,916评论 0 7
  • 1.Vagrant Vagrant是一个虚拟机管理和配置工具,所以虚拟机系统还得靠专门的虚拟化软件,Vagrant...
    中v中阅读 8,661评论 0 2
  • 2018年4月11日 星期三 晴 今天镇里下达任务——控辍保学。我们驻村扶贫工作队立即行动起来入...
    和竹芳阅读 1,491评论 0 0
  • 聒噪的蝉声才去 啾嘈的鸣蛩已是急急奏起 星希月玄 清凉初夏 倒是那徐徐微风让人尚觉一丝舒意 不知是哪家孩子 怕是怠...
    panjw阅读 280评论 0 6