如何在CentOS上安装MEAN.JS的MEAN技术栈
月月
・10 分钟阅读
介绍
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-devel
和fontconfig
。
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 )签名检查。
[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 start
或gulp
重新启动样例应用程序。
你现在可以访问你的mean应用程序,方法是访问http://your_server_ip:3000
在浏览器中,应该会呈现一个带有MEAN.JS logo和文本的页面,你已经配置并运行了例子应用程序。
结束语
现在你拥有了必要的组件和MEAN.JS样板,你可以开始构建,测试和部署你自己的应用,查看MEAN.JS网站的文档以获得有关使用MEAN.JS的特定帮助。