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
- MEAN架构初探
- 初探MEAN
- 全 Javascript 的 Web 开发架构:MEAN
- 全 Javascript 的 Web 开发架构:MEAN
- MEAN架构Angular fullstack generator生成器
- MEAN
- 单一世界架构初探
- 三层架构初探
- SharpDevelop插件架构初探
- 服务器架构初探
- ERP SYSTEM 架构初探
- 初探nginx架构(100%)
- 初探架构之美
- 三层架构初探
- 初探三层架构
- 初探nginx架构
- Netty初探-架构剖析
- 初探nginx架构
- 【转】 CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
- 边界值方法案例
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
- coco2d-x学习笔记
- IOS和安卓ui设计常用尺寸及基本知识
- MEAN架构初探
- XCODE7 和IOS9适配后的一些问题。
- Java开发和运行环境的搭建
- SDK 和 ADT版本不一致的问题
- 华为OJ试题:输入n个整数,输出其中最小的k个
- c++ 多态 虚函数 析构函数 抽象类
- UI_UItabBarController
- ssh secure shell工具的中文乱码问题
- 黑马程序员---OC学习笔记之autorelease快速创建对象的应用