如何在Ubuntu14.04服务器上安装MEAN.JS堆栈

来自菜鸟教程
跳转至:导航、​搜索

介绍

MEAN.JS 是一个全栈 JavaScript 开发解决方案,它汇集了一些最好的 JavaScript 技术,以便您可以快速轻松地将应用程序投入生产。 MEAN.JS 由 MongoDB、ExpressJS、AngularJS 和 Node.js 组成。

在本指南中,我们会将这些组件中的每一个安装到 Ubuntu 14.04 服务器上。 这将为我们提供轻松创建和部署 MEAN 应用程序所需的应用程序和结构。

先决条件

要开始本指南,您需要有权访问 Ubuntu 14.04 服务器。

您需要具有 sudo 权限的非 root 用户帐户才能正确安装和配置我们将使用的组件。 按照我们的 Ubuntu 14.04 初始服务器设置指南 设置此类型的帐户。

完成服务器的初始配置后,使用非 root 用户登录并继续阅读本指南。

通过 Apt 下载并安装 MongoDB 和依赖项

在本指南中,我们将根据每个项目的要求使用多种不同的技术安装软件。 第一组安装将使用 apt,Ubuntu 的包管理系统。

在开始安装软件之前,我们将添加一个包含最新 MongoDB 包的附加存储库。 此存储库由 MongoDB 项目本身提供,因此它应该始终具有最新的稳定版本的 MongoDB。

首先,我们必须将 MongoDB 团队的密钥添加到我们系统的可信密钥列表中。 这将使我们能够确认包裹是真实的。 以下命令会将正确的密钥添加到我们的列表中(如果您愿意,可以通过 MongoDB 的官方文档 验证密钥 ID):

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

现在我们信任由 MongoDB 维护者签名的包,我们需要在我们的 apt 配置中添加对实际存储库的引用。 我们可以通过键入以下内容创建一个单独的文件,该文件将由 apt 提供正确的存储库引用:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

我们的系统现在配置了新的 MongoDB 存储库。 我们可以更新系统的本地包缓存,让它知道新的包,然后我们可以安装我们需要的软件。

我们将安装 MongoDB 包以用作我们的数据库,git 以帮助我们进行以后的安装,以及我们将需要的一些包作为依赖项并为 Node 构建依赖项:

sudo apt-get update
sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config

安装完成后,我们就可以继续构建 Node.js 了。

从源代码下载、构建和安装节点

Node 是一个快速发展的项目,它经常削减发布。 为了获得在我们特定系统上运行的 Node 的最新副本,我们将下载最新的源代码并手动编译二进制文件。 这是一个相当直接的过程。

首先到Node网站【X56X】的【X16X】下载部分。 在页面的主要部分,有按操作系统分隔的下载链接,以及下载的右上角的源代码链接:

右键单击源代码链接并选择“复制链接地址”或浏览器提供的任何类似选项。

回到您的服务器,进入您的主目录并使用 wget 命令从您刚刚复制的链接下载源代码。 您的节点源 URL 可能与下面显示的不同:

cd ~
wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz

下载文件后,使用 tar 命令解压缩存档:

tar xzvf node-v*

这将创建包含源代码的目录结构。 进入新目录:

cd node-v*

由于我们已经在上一节中使用 apt 安装了所有 Node 依赖项,因此我们可以立即开始构建软件。 使用以下命令配置和构建软件:

./configure
make

编译软件后,我们可以通过键入以下命令将其安装到我们的系统中:

sudo make install

Node 现在已安装在我们的系统上(以及一些帮助应用程序)。 在继续之前,我们可以摆脱源代码存档和源目录以保持系统清洁:

cd ~
rm -rf ~/node-v*

使用 NPM、Git 和 Bower 安装其余组件

现在我们已经安装了 Node,我们可以访问 npm 包管理器,我们可以使用它来安装我们需要的一些其他软件。

MEAN.JS 使用一个单独的包管理器,称为 bower,来管理前端应用程序包。 它还使用 Grunt Task Runner 来自动执行常见任务。 由于这些管理包应该可以帮助我们创建每个应用程序,我们应该告诉 npm 我们需要全局安装这些:

sudo npm install -g bower grunt-cli

现在,我们终于安装了所有必备软件包。 我们可以继续安装用于创建应用程序的实际 MEAN.JS 样板。 我们会将官方 GitHub 存储库克隆到 /opt/mean 的目录中,以获取项目的最新版本:

sudo git clone https://github.com/meanjs/mean.git /opt/mean

进入目录并告诉 npm 安装项目引用的所有包。 我们需要使用 sudo 因为我们在系统目录中:

cd /opt/mean
sudo npm install

最后,由于我们在系统目录中操作,我们需要使用 sudo--allow-root 选项调用 bower 来安装和配置我们的前端包:

sudo bower --allow-root --config.interactive=false install

查看结果

MEAN.JS 现在已完全安装。 我们可以使用项目目录中的 Grunt Task Runner 启动示例应用程序。 这将运行应用程序并允许它开始接受请求:

cd /opt/mean
grunt

该过程开始后,您可以在 Web 浏览器中的端口“3000”上访问服务器的域名或 IP 地址:

http://server_domain_or_IP:3000

您应该看到示例 MEAN.JS 应用程序:

结论

现在您已经拥有了必要的组件和 MEAN.JS 样板,您可以开始制作和部署自己的应用程序。 查看 MEAN.JS 网站上的 文档以获取有关使用 MEAN.JS 的具体帮助。

启动并运行应用程序后,您可能需要为应用程序服务器配置反向代理,以提供应用程序连接。 我们将在稍后的指南中介绍这一点。