帮酷LOGO
0 0 评论
文章标签:堆栈  MEAN  STA  Centos  

介绍

mean是由以下组件组成的软件应用堆栈:

MongoDB,支持服务器端JavaScript执行的NoSQL数据库,

ExpressJS,Node.js web应用程序框架

AngularJS,一个适合开发动态的单页面应用程序的网络应用框架,

NodeJS,一个异步事件驱动框架,适合构建可扩展的网络应用程序,

当前有两个mean堆栈的并行实现: MEAN.io和MEAN.JS ,每一种都有一种不同的安装方法,MEAN.JS 是一个纯社区驱动的实现,而 MEAN.io是由一个名叫Linnovate的公司赞助的,它们都包含相同的组件,但是MEAN.io提供了额外的命令行工具mean以及商业支持。

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

前提条件

首先,你需要具备以下条件:

有至少4GB RAM的CentOS服务器,mean栈的某些组件(如npm )需要大量内存。

步骤1安装依赖项

因为我们要编译源代码,克隆Git库,并且安装ruby gem,所以,我们需要首先安装一些依赖项,MEAN.JS模块(pngquant )需要libpng-develfontconfig


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存储库,

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

要启用存储库,在/etc/yum.repos.d下为它创建一个文件,这是,对于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

如果正在运行,则输出应类似于以下内容:


Outputmongod.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

输出应该是:


Output{ 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,这是通过将选项传递给npm来实现的,

首先安装Bower :


sudo npm install -g bower

然后安装吞咽:


sudo npm install -g gulp

现在,我们已经安装了所有的必备包,

步骤5安装mean Boilerplate

首先,我们将克隆官方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

注意:这些命令的初始运行失败,并且输出类似于下面这样:


Error output[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重新启动样例应用程序。

你现在可以访问你的mean应用程序,方法是访问http://your_server_ip:3000 在浏览器中,应该会呈现一个带有MEAN.JS logo和文本的页面,你已经配置并运行了例子应用程序。

结束语

现在你拥有了必要的组件和MEAN.JS样板,你可以开始构建,测试和部署你自己的应用,查看MEAN.JS网站的文档以获得有关使用MEAN.JS的特定帮助。



文章标签:STA  堆栈  MEAN  Centos  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语