更多详情,请访问我的 个人博客。
什么是Node.js NodeJS官网上的介绍:Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
它是一个Javascript运行环境依赖于Chrome V8引擎进行代码解释事件驱动非阻塞I/O(NodeJS遇到I/O事件会创建一个线程去执行,然后主线程会继续往下执行的)轻量、可伸缩,适于实时数据交互应用单进程,单线程 Node.js的优缺点 NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景(高并发、聊天、实时消息推送) 优点:高并发(最重要的优点)
NodeJs更改连接到服务器的方式,每个连接发射(emit)一个在NodeJS引擎进程中运行的事件(Event),放进事件队列当中,而不是为每个连接生成一个新的OS线程(并为其分配一些配套内存)
适合I/O密集型应用
缺点:不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循 环),将会导致CPU时间片不能释放,使得后续I/O无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起。
只支持单核CPU,不能充分利用CPU;
可靠性低,一旦代码某个环节崩溃,整个系统都崩溃(原因:单进程,单线程);
解决方案:
Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;开多个进程监听同一个端口,使用cluster模块。Debug不方便,错误没有stack trace。
Node.js的安装 访问 Node.js 下载地址:https://nodejs.org/zh-cn/ ,下载最新版本。 双击刚才下载文件,按照步骤默认安装。Node.js和npm安装完成。
安装完成后打开终端,输入 npm -vnode -v两个命令,如下图出现版本信息,说明安装成功。