如何在 CentOS 7 上使用 MEAN.JS 安装 MEAN 堆栈

介绍

MEAN 是一个由以下组件组成的软件应用堆栈:

MongoDB ,一个支持服务器侧 JavaScript 执行的 NoSQL 数据库

  • ExpressJS ,一个 Node.js Web 应用框架
  • AngularJS ,一个适合开发动态,单页应用程序
  • NodeJS 的 Web 应用框架,适合构建可扩展的网络应用程序

该术语最初是由Valery Karpov发明的,而这个术语是从每个组件的第一个字母中衍生出来的。Valery在 这个博客帖子中定义了MEAN,其中他给出了一些选择开发JavaScript应用程序的动机:

通过全程使用JavaScript编码,我们能够实现软件本身和开发人员的生产率的性能提高。使用MongoDB,我们可以以JSON类型的格式存储我们的文档,在我们的ExpressJS和NodeJS基于服务器上写JSON查询,并无缝地将JSON文档传输到我们的AngularJS前端。当存储在您的数据库中的对象与客户端JavaScript所看到的对象基本相同时,调试和数据库管理变得更容易。

MEAN 堆栈目前有两种并行实现: MEAN.ioMEAN.JS . 每个都有略有不同的安装方法。 MEAN.JS 是一个纯粹的社区驱动的实现,而 MEAN.io 是由一家名为 Linnovate 的公司赞助的。

在本指南中,我们将使用 MEAN.JS 在 CentOS 7 服务器上安装 MEAN 堆栈,使用此方法首先安装 MongoDB,然后安装 NodeJS,然后从 GitHub 克隆 MEAN.JS 文件。

前提条件

首先,你需要有以下:

步骤1 - 安装依赖性

因为我们将从源编译应用程序,克隆Git存储库,并安装Ruby宝石,我们需要先安装一些依赖性。

1sudo yum install gcc-c++ make git fontconfig bzip2 libpng-devel ruby ruby-devel

我们将安装的一些Node.js模块将需要Sass,一个CSS扩展语言。

1sudo gem install sass

现在,依赖已安装,我们可以安装堆栈的第一个组件:MongoDB。

第2步:安装MongoDB

MongoDB不在官方的CentOS存储库中,所以要安装它,你需要启用官方的MongoDB存储库,这样你就可以访问最新的软件包,并从那里安装它。

对于本教程,我们将安装社区版,可免费下载。还有企业版,但这需要许可证,所以我们不会在这里处理。

在发布时,MongoDB 3.2 是可下载和安装的最新稳定版本. 要启用存储库,请在 CentOS 存储库目录 /etc/yum.repos.d 中创建一个文件。

创建和打开/etc/yum.repos.d/mongodb.org-3.2.repo使用vi或您最喜欢的文本编辑器。

1sudo vi /etc/yum.repos.d/mongodb.org-3.2.repo

要将包管理器指向官方 MongoDB 存储库并启用它,请将下列内容复制并粘贴到文件中。设置 enabled=1 启用存储库,设置 gpgcheck=1 将启用 GNU Privacy Guard (GPG) 签名检查从存储库安装的所有包。

1[label /etc/yum.repos.d/mongodb.org-3.2.repo]
2[mongodb-org-3.2]
3name=MongoDB Repository
4baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
5gpgcheck=1
6enabled=1
7gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

保存并关闭文件,然后安装mongodb-org包来安装MongoDB及其相关工具. 当被要求导入GPG密钥时,键入y:

1sudo yum install mongodb-org

安装完成后,启动 MongoDB 戴蒙。

1sudo systemctl start mongod

mongod,MongoDB大象,现在应该在运行,你可以使用以下命令来验证:

1sudo systemctl status mongod

如果它正在运行,输出应该看起来如下:

 1[secondary_label Output]
 2mongod.service - SYSV: Mongo is a scalable, document-oriented database.
 3   Loaded: loaded (/etc/rc.d/init.d/mongod)
 4   Active: active (running) since Tue 2016-09-06 12:42:16 UTC; 9s ago
 5     Docs: man:systemd-sysv-generator(8)
 6  Process: 9374 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
 7   CGroup: /system.slice/mongod.service
 8           └─9385 /usr/bin/mongod -f /etc/mongod.conf
 9
10Sep 06 12:42:16 centos-mean-js systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
11Sep 06 12:42:16 centos-mean-js runuser[9381]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
12Sep 06 12:42:16 centos-mean-js mongod[9374]: Starting mongod: [  OK  ]
13Sep 06 12:42:16 centos-mean-js systemd[1]: Started SYSV: Mongo is a scalable, document-oriented database..

我们需要安装的堆栈的下一个部分是Node.js。

步骤 3 – 安装 Node.js

一个简单的方法来安装 Node.js 是使用从 NodeSource Node.js 存储库的二进制。 首先,添加稳定分支的存储库。 您可以使用下面的命令阅读脚本的内容,然后访问浏览器中的 URL。

1curl -sL https://rpm.nodesource.com/setup_4.x | sudo -E bash -

接下来,安装 Node.js 和npm,为 Node.js 的包管理器。

1sudo yum install -y nodejs

检查 Node.js 和 'npm' 是否已安装。

1npm version

产量应该是:

 1[secondary_label Output]
 2{ npm: '2.15.9',
 3  ares: '1.10.1-DEV',
 4  http_parser: '2.7.0',
 5  icu: '56.1',
 6  modules: '46',
 7  node: '4.5.0',
 8  openssl: '1.0.2h',
 9  uv: '1.9.1',
10  v8: '4.5.103.37',
11  zlib: '1.2.8' }

现在安装了npm,我们可以安装 MEAN 堆栈的其他组件。

步骤 4 – 安装 Bower 和 Gulp

我们将在这个步骤中安装的组件是Bower,一个用于管理前端应用程序的包管理器,以及Gulp,用于自动化常见任务。

Bower 和 Gulp 都需要在全球范围内安装,我们通过将 g 选项转换为npm来实现这一目标。

首先安装Bower:

1sudo npm install -g bower

然后安装Gulp:

1sudo npm install -g gulp

现在,我们终于安装了所有前提包,我们可以继续安装实际的MEAN.JS锅炉,用于创建应用程序。

步骤5 – 安装 MEAN 锅炉板

首先,我们将克隆官方MEAN.JS GitHub 存储库。

1git clone https://github.com/meanjs/mean.git meanjs

这将MEAN.JS锅板克隆到您的主目录中的名为meanjs的目录中。 要安装所有项目参考的包,您需要在该目录中,所以进入它。

1cd ~/meanjs

然后将所需的包安装为非根用户。

1npm install

安装将需要几分钟。完成后,您将拥有开发MEAN应用程序所需的一切。在最后一步中,我们将测试堆栈,以确保它工作。

步骤 6 – 运行您的样本 MEAN 应用

让我们运行样本应用程序,以确保系统正常工作。一种方法是使用npm start,另一种方法是使用gulp

1npm start

<$>[注] :这些命令中的任何一个的初始运行可能失败,输出类似于以下:

1[secondary_label Error output]
2[12:56:49] 'lint' errored after 702 ms
3[12:56:49] Error in plugin 'run-sequence'
4Message:
5    An error occured in task 'sass'.

如果您收到此错误,解决方案很简单,包括删除node_modules目录,清除缓存,然后重新安装包。

1rm -rf node_modules
2npm cache clean
3npm install

然后用npm startgulp重新启动样本应用程序,就像以前一样。

您现在可以访问您的 MEAN 应用程序,在您最喜欢的浏览器中访问 http://your_server_ip:3000. 这应该显示具有 MEAN.JS 标志的页面,包括文本 Congrats! 您已经配置并运行了样本应用程序。 这意味着您在您的服务器上有完全功能的 MEAN 堆栈。

结论

现在你已经拥有必要的组件和 MEAN.JS 锅炉板,你可以开始构建、测试和部署自己的应用程序。

Published At
Categories with 技术
comments powered by Disqus