如何与在CentOS 7 MEAN.JS安装MEAN

在本指南中,我们将在一个CentOS 7服务器使用MEAN.JS.安装MEAN使用该方法包括首先安装的MongoDB,然后的NodeJS,然后从GitHub克隆MEAN.JS文件。

介绍

MEAN是由以下组件组成的软件应用程序:
  • MongoDB中 ,一个NoSQL资料库与服务器端JavaScript执行的支持
  • ExpressJS,使Node.js的Web应用程序框架
  • AngularJS,适合开发动态,单页应用程序的Web应用程序框架
  • 的NodeJS,适合构建可扩展的网络应用的异步事件驱动的框架
术语MEAN最初由Valeri Karpov创造,该术语源自每个组件的第一个字母。瓦列里定义MEAN,他给了一些动机选择发展的JavaScript应用程序与平均栈的帮助:
通过使用Javascript编码,我们能够在软件本身和开发人员的生产力方面实现性能提升。使用MongoDB,我们可以以类似JSON的格式存储我们的文档,在基于ExpressJS和NodeJS的服务器上写入JSON查询,并无缝地将JSON文档传递到我们的AngularJS前端。当存储在数据库中的对象与客户端Javascript所看到的对象基本相同时,调试和数据库管理变得更加容易。更好的是,在客户端工作的人可以很容易地理解服务器端代码和数据库查询;使用相同的语法和对象,使您不必考虑多组语言最佳实践,并减少了了解您的代码库的入口门槛。
目前的平均栈的两个平行的实现:MEAN.ioMEAN.JS。 每个都有一个稍微不同的安装方法。 MEAN.JS是一个纯社区驱动的实现,而MEAN.io由一个名为Linnovate的公司赞助。 它们都包括相同的组件,但MEAN.io提供了一个额外的命令行工具, mean ,以及商业支持。 在本指南中,我们将使用MEAN.JS在CentOS 7服务器上安装MEAN。使用这种方法包括首先安装MongoDB,然后安装NodeJS,然后从GitHub克隆MEAN.JS文件。

先决条件

首先,您需要拥有以下内容:

第1步 - 安装依赖关系

因为我们会从源代码编译应用程序,克隆一个Git仓库,并安装RubyGem,我们需要先安装一些依赖。 libpng-develfontconfig由MEAN.JS模块(pngquant)中的一个需要。
sudo yum install gcc-c++ make git fontconfig bzip2 libpng-devel ruby ruby-devel
我们将要安装的一些Node.js模块将需要Sass,一种CSS扩展语言。使用安装gem ,Ruby的包管理器。
sudo gem install sass
现在安装了依赖关系,我们可以安装的第一个组件:MongoDB。

第2步 - 安装MongoDB

MongoDB不在官方CentOS存储库中,因此要安装它,您必须启用官方MongoDB存储库。这将让您访问最新的软件包,并允许您从那里安装。 在本教程中,我们将安装社区版,可以免费下载。还有一个企业版,但这需要一个许可证,所以我们不会在这里处理。 在出版时,MongoDB 3.2是最新的稳定版本可供下载和安装。要启用存储库中,创建一个文件为它下/etc/yum.repos.d ,CentOS的库目录。 MongoDB的3.2,我们会打电话给这个文件mongodb.org-3.2.repo 。 创建并打开/etc/yum.repos.d/mongodb.org-3.2.repo使用vi或您喜爱的文本编辑器。
sudo vi /etc/yum.repos.d/mongodb.org-3.2.repo
要将包管理器指向官方MongoDB存储库并启用它,请将以下内容复制并粘贴到文件中。设置enabled=1使资源库和设置gpgcheck=1开启GNU隐私卫士(GPG)签名从库中安装的所有软件包检查。
/etc/yum.repos.d/mongodb.org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
保存并关闭文件,然后安装mongodb-org包安装的MongoDB及相关工具。 当系统提示导入GPG键,输入y代表是:
sudo yum install mongodb-org
安装完成后,启动MongoDB守护程序。
sudo systemctl start mongod
mongod ,MongoDB的守护进程,就可以运行了,你可以验证使用以下命令:
sudo systemctl status mongod
如果它正在运行,则输出应类似于以下内容:
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
   Loaded: loaded (/etc/rc.d/init.d/mongod)
   Active: active (running) since Tue 2016-09-06 12:42:16 UTC; 9s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 9374 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mongod.service
           └─9385 /usr/bin/mongod -f /etc/mongod.conf

Sep 06 12:42:16 centos-mean-js systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
Sep 06 12:42:16 centos-mean-js runuser[9381]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
Sep 06 12:42:16 centos-mean-js mongod[9374]: Starting mongod: [  OK  ]
Sep 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来读取脚本的内容。
curl -sL https://rpm.nodesource.com/setup_4.x | sudo -E bash -
接下来,安装的Node.js和npm ,对Node.js的的软件包管理器
sudo yum install -y nodejs
验证的Node.js和npm安装。
npm version
输出应为:
{ npm: '2.15.9',
  ares: '1.10.1-DEV',
  http_parser: '2.7.0',
  icu: '56.1',
  modules: '46',
  node: '4.5.0',
  openssl: '1.0.2h',
  uv: '1.9.1',
  v8: '4.5.103.37',
  zlib: '1.2.8' }
现在, npm安装,就可以安装MEAN堆的部件的其余部分。

第4步 - 安装Bower和Gulp

我们将在此步骤中安装的组件是Bower,用于管理前端应用程序的包管理器,以及用于自动执行常见任务的Gulp。 无论鲍尔和咕嘟咕嘟需要由-g选项传递给全球的装机量,这是我们实现npm 。在全球范围内安装这两个应用程序使得它们在系统范围内可用,而不仅仅是从本地项目的目录。 首先安装Bower:
sudo npm install -g bower
然后安装Gulp:
sudo npm install -g gulp
现在,我们终于安装了所有必备软件包。我们可以转到安装用于创建应用程序的实际MEAN.JS样板文件。

第5步 - 安装MEAN锅炉板

首先,我们将克隆官方MEAN.JS GitHub存储库。
git clone https://github.com/meanjs/mean.git meanjs
这克隆MEAN.JS样板生成一个叫做meanjs你的主目录。要安装项目引用的所有包,你需要在该目录内,所以移动到它。
cd ~/meanjs
然后以非root用户身份安装所需的软件包。
npm install
安装将需要几分钟。当它完成,你有你需要开发一个MEAN应用程序的一切。在最后一步,我们将测试以确保它的工作。

第6步 - 运行您的示例MEAN应用程序

让我们运行示例应用程序,以确保系统正常工作。一种方法是使用npm start ,另一种方法是使用gulp 。 这两个命令都允许您在开发模式下测试应用程序。 在这里,我们将使用npm
npm start
:这些命令的初始运行可能会失败,类似这样的输出:
[12:56:49] 'lint' errored after 702 ms
[12:56:49] Error in plugin 'run-sequence'
Message:
    An error occured in task 'sass'.
如果你得到这个错误,修复是简单的。它涉及删除node_modules目录,清除缓存,然后重新安装包。
rm -rf node_modules
npm cache clean
npm install
然后,重新启动与示例应用程序npm startgulp前。 您现在可以通过访问访问你的意思的应用程序http:// your_server_ip :3000在你喜欢的浏览器。 这应该呈现页面与MEAN.JS的标志,包括文字恭喜! 你已经配置和运行示例应用程序,这意味着你有你的服务器上的全功能MEAN。

结论

既然你有必要的组件和MEAN.JS样板,你可以开始构建,测试和部署你自己的应用程序。退房的MEAN.JS网站上的文档获得具体的帮助与MEAN.JS.工作