node.js在windows和ubuntu下安装及其简单使用

目录

  • 前言
  • node.js 简单介绍
    • 异步的优点
  • ubuntu下部署node.js
    • 安装
    • 部署第一个node应用
  • windows下部署node.js
    • 安装
    • 部署第一个node应用
  • 小结

前言

因为最近有一个后端的接口任务要写,而在学习node之前,我们编写后端接口程序,都是用php,而php需要繁琐的环境配置。但是也有集成环境,比如xampp就有apache+php+mysql,足够支持一个微小的web应用了。

可是这次的接口是给手机app写的,那么意味着我们不需要提供类似apache服务器的功能,比如返回页面文件及其资源。取而代之,我们只需要按照接口规范返回指定的少量JSON数据即可。

这就如同java中,创建一个socket,然后listen一个端口一样。只要收到,就按照规则响应。“那你去用java啊“ ”JavaScript也事java(暴论)“

所以,最近开始学习一种新的后端平台,node.js是比较新的,而且好评如潮,是JavaScript的运行时平台。特地记录一下。

node.js 简单介绍

Node.js是一个事件驱动I/O服务端JavaScript环境,主要用于提供后端的服务。虽然其是单线程应用,但是因为大量的异步+回调函数的编程模式,使得node.js的并发处理能力非常优秀。除此之外,node.js还如同python一样,可以导入各种模块,大大减轻重复的造轮子,是快速开发的利器。

异步的优点

虽然node是单线程应用,但是因为其异步的模式,使得效能非常高。因为web应用往往伴随查询,存取等需要等待的操作。假设现在有三个并发的请求,每个请求都需要查询数据库,需要等待。

  • 传统的单线程服务器在等待时会一直阻塞,直到数据取回来
  • 而多线程服务器会开销几个线程同时等待。
  • node的异步模式则是不等待,直接处理其他的请求,直到查询数据取回来再做响应。

这样有效利用等待的时间,避免浪费资源,所以node是一个高效的服务平台。下面的图描述了三种服务器的工作机制

node.js在windows和ubuntu下安装及其简单使用_第1张图片

ubuntu下部署node.js

安装

很简单,这次吸取了上次安装mongodb的教训,不下载压缩包手动安装了,直接用懒狗工具 apt-get来下载了

sudo apt-get install nodejs

下载完成后,我们还需要下载对应的模块安装工具nmp(类似python的pip),值得注意的是,新版的node.js好像自带npm,而我apt-get下载的版本似乎没有带。

sudo apt-get install npm

部署第一个node应用

我们在当前目录下创建一个.js文件

sudo vim server.js

我们编写server.js文件

var http = require('http');

http.createServer(function (request, response) {
        response.writeHead(200, {"Content-Type":"text/plain"});
        response.write("hello world");
        response.end();
}).listen(8888);

console.log('Server started');

其中http是我们引入的模块(自带模块),然后我们创建一个server,其中传入的是有客户端连接之后的回调函数。回调函数的request是用户的请求对象,而response是我们回复的对象。最后我们让server对象listen 8888 端口。

编写完成之后,我们运行node命令,启动server.js中代码描述的服务

node server.js

在这里插入图片描述
此时输出提示信息,我们可以在浏览器访问我们云主机的8888端口查看服务运行情况。

node.js在windows和ubuntu下安装及其简单使用_第2张图片
按下ctrl+c,服务退出
node.js在windows和ubuntu下安装及其简单使用_第3张图片

windows下部署node.js

安装

我们直接到node的官网上去下载即可。直接下载binary可执行文件。

node.js在windows和ubuntu下安装及其简单使用_第4张图片
下载之后解压,可以看到如下的文件,其中node.exe就是node的可执行文件了,和我们在ubuntu下运行无异。值得注意的是,这个版本的node自带了npm,我们无序再安装npm了
node.js在windows和ubuntu下安装及其简单使用_第5张图片

部署第一个node应用

我们创建一个文件夹名叫htdocs,里面有一个子文件夹test,在test中,我们编写一个.js文件
node.js在windows和ubuntu下安装及其简单使用_第6张图片

var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write('Hello World');
    response.end();
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

然后我们回到node.exe所在的目录,我们打开cmd控制台,进入node.exe所在的目录

cd /d E:\node.js\node-v12.18.3-win-x64

然后我们和在ubuntu中启动一样,node + 文件路径 即可启动指定文件中描述的web服务了。

node htdocs/test/server.js

我们访问服务侦听的端口,即可看到我们的hello页面

在这里插入图片描述
在Windows或者Linux下,按下ctrl+c都可以直接退出,并且停止服务

node.js在windows和ubuntu下安装及其简单使用_第7张图片

小结

node相比php还是方便一些。我们无序提供整个web服务器(比如apache或者nginx)去支持一个(php)接口。node直接就是socket级别对接口请求的处理了。而且node也有好用的框架比如express,更加简单的处理接口逻辑。当然这是后话了 之后再学习这些框架。。。

你可能感兴趣的:(前后端,杂记,ubuntu,nodejs,javascript)