如何在Ubuntu 15.04/CentOS 7上设置MEAN.IO Stack
MEAN.IO是必要框架的完整堆栈,可简化和加速Web应用程序的开发。
MEAN.IO是一款全栈免费开源软件,可帮助我们构建和运行基于MongoDB,Express,AngularJS和Node.js的Web应用程序。
它是一个强大的框架,可帮助开发人员在使用流行JavaScript组件进行日常开发时使用更好的做法。
MEAN.IO堆栈可帮助我们以适当的管理方式开始开发Web应用程序。
它的主要重点是照顾现有流行框架之间的联系并解决常见问题。
这是一些简单的步骤,说明如何在运行Ubuntu 15.04和CentOS 7作为操作系统的Linux机器上设置MEAN.IO堆栈。
1.安装NodeJS
首先,我们需要在每个场景背后设置最重要的关键程序,即NodeJS。
NodeJS很容易在运行Ubuntu或者CentOS的linux机器上安装。
安装依赖项
在Ubuntu 15.04上
我们首先需要更新本地存储库索引,以便检索存储库中可用的软件包列表的必需更新。
为此,我们需要运行以下apt-get命令。
$sudo apt-get update $sudo apt-get install gcc g++ make build-essential libssl-dev git
在CentOS 7上
在运行CentOS 7的计算机上,我们需要运行yum update来更新系统中安装的每个软件包。
我们需要在root或者sudo访问下运行命令。
$sudo yum update
之后,我们将安装编译NodeJS所需的基本开发包。
$sudo yum install gcc gcc-c++ git
下载和解压缩
安装依赖项后,我们将使用wget从官方下载服务器下载最新版本的NodeJS。
$wget https://nodejs.org/download/release/node-latest.tar.gz -O /tmp/node-latest.tar.gz --2014-11-22 05:01:17-- https://nodejs.org/download/release/node-latest.tar.gz Resolving nodejs.org (nodejs.org)... 2400:cb00:2048:1::6814:172e, 2400:cb00:2048:1::6814:162e, 104.20.22.46, ... Connecting to nodejs.org (nodejs.org)|2400:cb00:2048:1::6814:172e|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 22470092 (21M) [application/gzip] Saving to: '/tmp/node-latest.tar.gz' /tmp/node-latest.tar. 100%[=========================>] 21.43M 3.77MB/s in 6.9s 2014-11-22 05:01:25 (3.10 MB/s) - '/tmp/node-latest.tar.gz' saved [22470092/22470092] $ tar -xvzf /tmp/node-latest.tar.gz
编译安装
一旦压缩包的提取完成,我们将继续进行NodeJS源代码的编译。
为此,首先,我们需要使用./configure命令检查是否已安装每个开发依赖项。
然后,我们将使用make命令来编译源代码,这将花费大量时间来完成编译,并最终使用make install命令将二进制文件安装到我们的计算机中。
$cd node-v5.1.0 $./configure $make $sudo make install
安装完成后,我们将通过询问节点其版本来检查节点是否已成功安装。
$node --version v5.1.0
CentOS 7中的常见错误和修复
在使用sudo运行节点命令时,我们可能会收到错误sudo:npm:在shell上找不到命令。
要解决此问题,我们需要在终端或者控制台中运行以下命令。
$sudo ln -s /usr/local/bin/node /usr/bin/node $sudo ln -s /usr/local/lib/node /usr/lib/node $sudo ln -s /usr/local/bin/npm /usr/bin/npm $sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
2.安装MongoDB
接下来,我们将安装MongoDB,这是一个免费且开源的面向文档的数据库服务器,也称为NoSQL数据库服务器。
它设计用于处理面向文档的存储,并使用称为BSON的动态模式将数据存储在类似JSON的文档中,这使数据在某些类型的应用程序中的集成变得越来越容易。
要安装MongoDB,就我们正在运行的Linux发行版而言,我们需要遵循以下设置。
在Ubuntu 15.04上
现在,我们需要将MongoDB官方存储库添加到我们的源列表中,以便我们可以获取软件包列表和路径。
为此,我们需要在终端或者控制台中运行以下命令。
$sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 $sudo echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
之后,我们将使用apt-get命令将本地存储库索引更新为mongodb存储库的索引。
$sudo apt-get update
现在,我们需要运行以下命令才能将其安装在我们的Ubuntu计算机中。
$sudo apt-get install -y mongodb-org
在CentOS 7上
在运行CentOS 7的计算机上,我们将使用yum软件包管理器安装最新的稳定mongodb版本(即3.0版)。
为此,首先我们需要在操作系统中添加存储库,这可以使用文本编辑器来完成。
$sudo nano /etc/yum.repos.d/mongodb-org-3.0.repo
使用文本编辑器打开文件后,我们需要在文件中添加以下几行配置。
[mongodb-org-3.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1
然后,我们将保存文件并退出文本编辑器。
接下来,我们将通过运行以下命令,使用yum软件包管理器安装mongodb。
$sudo yum install mongodb-org
3.启动和启用MongoDB
安装完MongoDB之后,我们现在将启动我们的MongoDB服务器,并使其在每次启动时自动运行。
为此,我们需要运行以下命令。
由于Systemd是默认服务/守护程序,在Ubuntu 15.04和CentOS 7中,进程管理器将替换SysVinit,因此我们将运行以下命令以启动mongodb服务器。
$sudo systemctl start mongod
现在,要使mongod能够在每次系统引导时启动,我们需要执行以下命令。
$sudo systemctl enable mongod
4.安装凉亭
安装完Nodejs和NPM后,我们现在将在Linux机器上安装Bower软件包管理器。
Bower程序包管理器为我们的Web应用程序管理前端程序包。
它提供了挂钩,以方便在我们的工具和工作流程中使用软件包。
它从所有地方获取并安装必要的东西,从而为开发人员管理所有框架,库,资产,实用程序和Rainbow。
要安装bower,我们需要运行以下命令。
$sudo npm install -g bower /usr/local/bin/bower -> /usr/local/lib/node_modules/bower/bin/bower /usr/local/lib └── [email protected]
5.安装Gulp
接下来,我们还需要安装gulp任务管理器以自动化和增强我们的工作流程。
Gulp是一个免费和开放源代码JavaScript任务运行程序,它的主要功能(即自动化)使缩小,编译,整理,单元测试等重复性任务变得非常容易和快捷。
它用于使我们的开发过程自动化,从而使我们的重复任务易于执行。
要全局安装gulp,我们需要运行以下命令。
$sudo npm install -g gulp
6.安装mean-cli
现在,我们将使用npm安装mean-cli软件包。
这将在我们的系统中添加Mean命令,这将使我们能够交互(安装,管理,更新等)基于Mean的应用程序。
要安装它,我们需要运行以下npm命令。
$sudo npm install -g mean-cli
7.生成MEAN应用程序
应用程序生成器将向我们询问有关新应用程序的一些问题,并将在工作目录中创建MEAN.IO应用程序的新副本。
为此,我们需要在项目目录中运行以下yo命令。
$mean init test-app
接下来,我们将通过运行以下命令来安装运行普通应用程序所需的所有依赖项。
$cd test-app && npm install [email protected] postinstall /home/arun/test-app > node tools/scripts/postinstall.js $bower install
8.运行应用程序
生成MEAN应用程序之后,我们现在将最终运行我们新创建的应用程序。
要运行我们的应用程序,我们需要在我们的MEAN应用程序目录中执行gulp命令。
$gulp
现在,当我们的应用程序运行时,我们应该能够浏览我们的Web应用程序。
为此,我们将最喜欢的Web浏览器指向运行该应用程序的服务器。
由于gulp默认情况下在端口3000下运行应用程序,因此,我们将浏览器指向http://ip-address:3000或者http://theitroad.com:3000。
如果我们想为我们的应用程序分配端口,我们可以简单地运行以下命令。
$export PORT=3001 && gulp