MEAN架构初探

来源:互联网 发布:萝莉脸型数据 编辑:程序博客网 时间:2024/05/29 19:43

什么是MEAN架构

(1)综述
MEAN是一个Javascript平台的现代Web开发框架总称,它是MongoDB + Express +AngularJS + NodeJS 四个框架的第一个字母组合。它与传统LAMP一样是一种全套开发工具的简称(如下图所示)。

(2)具体组成

  • MongoDB
    MongoDB 是NoSQL的文档数据库,使用JSON风格来存储数据,甚至也是使用JS来进行sql查询。在mongoDB中我们可以直接存储JSON格式的数据,然后在ExpressJS和的NodeJS服务器编写一个基于JSON的查询,并无缝地传递JSON到AngularJS前端。

  • Express
    Express是基于Node的Web开发框架,即是一个在Node平台下搭建Web应用的工具集。Express在以下几个方面有优势:

    • 设置REST路由简单致极。
    • 支持Jade或Mustache等模板引擎。
    • 自动HTTP头处理。
    • 支持Connect中间件,可以插入额外请求或响应处理。
    • 提供辅助函数解析POST请求。
    • 防范XSS。
    • 优雅的错误处理。
  • Aagular
    Aagular是JS的前端开发框架。最为核心的是特性是MVVM、模块化、自动化双向数据绑定、语义化标签和依赖注入。在MEAN架构中,前端的Angular并不是必须的,可将它替换成其他的前端框架,如Backbone、Ember或者Polymer。

  • Node
    Node是基于V8的运行环境(JS语言开发),其用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

(3)工作原理
MEAN的四个部分的协同工作形式如下图所示:

搭建MEAN环境

(1)安装Node

  • 确认服务器有Node编译及依赖相关软件,如没有运行以下命令安装。
[root@test local]# yum -y install gcc gcc-c++ openssl-devel
  • 下载Node源码包并解压
[root@test local]# wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz[root@test local]# tar zxvf node-v0.10.24.tar.gz[root@test local]# cd node-v0.10.24
  • 配置、编译、安装
[root@test node-v0.10.24]# ./configure --prefix=/usr/local/node[root@test node-v0.10.24]# make && make install
  • 配置Node环境
[root@test node-v0.10.24]# vim /etc/profile---------------------------------------------------#添加如下内容:export NODE_HOME=/usr/local/nodeexport PATH=$NODE_HOME/bin:$PATHexport NODE_PATH=$NODE_HOME/lib/node_modules:$PATH---------------------------------------------------[root@test node-v0.10.24]# source /etc/profile
  • 测试Node环境
[root@test node-v0.10.24]# node -vv0.10.24

(2)安装Express开发框架

  • 全局安装Express
[root@test local]# npm install express -gd
  • 安装generator
[root@test local]# npm install express-generator –g
  • 创建一个实例
[root@test local]# express DemoApp[root@test local]# cd DemoApp[root@test DemoApp]# npm install[root@test DemoApp]# DEBUG=DemoApp npm start
  • 访问页面
    访问localhost:3000,页面显示如下图所示:

(3)安装MongoDB

  • 使用wget下载mongodb官网上的安装文件
[root@test meanjs]# tar -xvf mongodb-linux-i686-2.0.3.tgz[root@test meanjs]# mv mongodb-linux-x86_64-2.6.7 /usr/local/mongodb[root@test meanjs]# cd /usr/local/mongodb[root@test mongodb]# mkdir -p ./data/db[root@test mongodb]# mkdir -p ./data/logs[root@test mongodb]# cd /usr/local/mongodb/bin
  • 配置mongodb的配置文件
[root@test bin]# vi mongodb.config---------------------------------------------------------dbpath = /usr/local/mongodb /data/db  #数据文件存放目录logpath = /usr/local/mongodb /data/logs/mongodb.log  #日志文件存放目录port = 27017  #端口fork = true  #以守护程序的方式启用,即在后台运行---------------------------------------------------------
  • 启动mongodb的配置文件
[root@test bin]# ./mongod --smallfiles --config mongodb.conf [root@test bin]# ./mongo#注意:--smallfiles避免报ERROR: Insufficient free space for journal files
  • 开机自启动
[root@test bin]# echo "/usr/local/mongodb/bin/mongod --smallfiles --config mongodb.conf" >> /etc/rc.local
  • 关闭Http访问端口
    通过访问http://XXXX:28017/可以查看到mongodb启动的一些信息,同时也对mongodb运行的统计情况进行监控。修改配置文件mongodb.conf,增加参数选项:nohttpinterface = true 即可禁止该功能。
0 0