Node.js 简介
Node.js 是一个异步事件驱动的 JavaScript 运行时环境。它让 javascript 可以开发后端程序,实现几乎其他后端语言实现的所有功能。Node.js 基于 V8 引擎运行,V8 是 Google 发布的开源 JavaScript 引擎,最初用于 Chrome 浏览器的 js 解释部分,但是 Node.js 之父 Ryan Dahl 把 V8 引擎迁移到了服务器上。
官方网址:https://nodejs.org/en
文档网址:https://nodejs.org/zh-cn/docs
Node.js 特点:
- Javascript运行环境
- 依赖于Chrome V8引擎进行代码解释
- 异步事件驱动
- 非阻塞I/O
- 轻量、可伸缩,适于实时数据交互应用
- 单进程,单线程(这里指主线程)
- 性能出众
- 调试环境启动
- 自成一派的插件机制、丰富的插件
适用范围:
在线多人聊天,多人在线小游戏,实时新闻,博客,微博之类的服务器。典型应用:
- 网易出品的,原生 javascript 语言的 pomelo 开源游戏服务器框架,及其继承发展版本 sex-pomelo
- pomelo 的 typescript 语言版本 pinus 开源游戏服务器框架
- 支持 GitHub Flavored Markdown 的所有功能的,快速、简洁且高效的博客框架 hexo
- 领先的轻量级 CMS 内容管理系统 NoderCMS
- 神奇的文档网站生成器 docsify
- 开源商用建站神器 ApostropheCMS
启动
纯 node.js 服务器,调试环境启动:export NODE_ENV=development
node app.js
wait
ps -ef|grep node
纯 node.js 服务器,正式环境启动:
export NODE_ENV=production
cd path/of/node-server
rm -f logs/*
forever start -p path/of/node-server -l logs/forever.log -o logs/out.log -e logs/err.log app.js
wait
forever list
forever 为 node.js 的一个插件。基于 node.js 开发的框架 或 服务器,按其相关文档说明启动,会自动启动一个或多个业务分工的 node.js 服务。