如何学习: 看官方资料 看github代码 笔记不要用笔 最好就是思维导图 nodeJs常常放在前面说的套话 nodejs是一个异步的事件驱动的进行时(runtime)。...事件驱动,这个和前端一样。 单线程:线程之间无共享状态。...跨平台(Linux/Windows) 服务端和客户端的JavaScript: 核心语法都是ECMAScrit,比如数据类型,语法结构,内置对象等等。 前端关心的是浏览器的bom和dom。...现在node提供了util类 node的旧有api大都是用回调实现。 util有提供 promisify方法,提供类似promise的方法。...文件系统(fs,File System) nodejs为操作文件提供了大量的api,它使用的是fs模块。文件操作都有两个方法,分别是同步和异步版本。
我们会讨论认证和授权的区别,然后会介绍一些被业界广泛采用的技术,最后会聊聊怎么为 API 构建选择合适的认证方式。...---- 认证、授权、凭证 首先,认证和授权是两个不同的概念,为了让我们的 API 更加安全和具有清晰的设计,理解认证和授权的不同就非常有必要了,它们在英文中也是不同的单词。 ?...下面我会介绍在API开发中常常使用的几种认证和授权技术:HTTP Basic AUthentication、HAMC、OAuth2,以及凭证技术JWT token。...API 也可以非常简单的提供 HTTP Basic Authentication 认证方式,那么客户端可以很简单通过 Base64 传输用户名和密码即可: 将用户名和密码使用冒号连接,例如 username...和 Domain API 的认证,以及第三方服务的集成。
做 nodejs 开发的童鞋可能对 pm2 比较熟悉,pm2 是一个高级nodejs进程管理工具。 ? 看到这里,可能有童鞋会有疑问,nodejs进程管理工具怎么管理 .NET Core 进程?...4 instances of api.js: $ pm2 start api.js -i 4 Monitor in production...我们可以清晰的看到我们的应用程序的 pid、运行状态、重启次数(应用程序崩溃重启/手动重启)、运行时间、cpu和内存占用等。...访问 api 触发异常退出: curl http://localhost:5000/api/values 再次通过 pm2 list命令查询可以发现重启了: ?...六.结束 pm2 这个工具相对于 Supervisor 和 nohup 来说,对于Supervisor,没有配置,不用输很长的命令;对于 nohup 管理进程方便。欢迎大家与我交流。
引言:PM2 (github上的源码)是开源的基于Nodejs的进程管理器,包括守护进程,监控,日志的一整套完整的功能,基本是Nodejs应用程序不二的守护进程选择,事实上它并不仅仅可以启动Nodejs...# 4个应用程序会自动进行负载均衡 $ pm2 start app.js --name="api" # 启动应用程序并命名为 "api" $ pm2 start app.js --watch...启动的所有的应用程序 $ pm2 monit # 显示每个应用程序的CPU和内存占用情况 $ pm2 show [app-name] #...显示应用程序的所有信息 $ pm2 logs # 显示所有应用程序的日志 $ pm2 logs [app-name] # 显示指定应用程序的日志 pm2 flush $ pm2...api 10 # 把名字叫api的应用扩展到10个实例 $ pm2 reset [app-name] # 重置重启数量 $ pm2 startup
环境 1.下载node压缩文件 版本浏览地址:https://nodejs.org/dist/ 用户根据自己的需求下载相应的版本,我使用的是node-v5.12.0-linux-x64.tar.gz....部署、守护、监控nodejs程序 安装pm2: npm i pm2 -g 或 cnpm i pm2 -g pm2常用命令: $ pm2 start app.js # 启动...pm2 start app.js --name="api" # 启动应用程序并命名为 "api" $ pm2 start app.js --watch # 当文件变化时自动重启应用 $...monit # 显示每个应用程序的CPU和内存占用情况 $ pm2 show [app-name] # 显示应用程序的所有信息 $ pm2...# 删除指定应用 id 0 $ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例 $ pm2 reset [app-name
最近域名和服务器已经申请下来,网站备案也在进行中,准备自己搭建数据库服务器和开发一套实现restful api的后台代码。...研究了Python的Flask框架和基于nodejs的koa2框架,都是大名鼎鼎,可之前接触不多,最后选择了koa2框架,写小程序的后台,顺便也学习一下这方面的开发。...3、开发环境搭建和脚手架安装 如果还没有nodejs和npm,首先需要安装这两个软件,注意最低版本要求。...all # 杀死全部进程 8、总结 通过这次nodejs开发实践,对于nodejs能够流行起来一点都不感到意外,开发起来太简单和方便了。...跟java、.net这些传统的技术路线相比,nodejs项目在安装、调试、部署和发布都很方便,很多Web服务器和云服务提供商都支持Node.js的Web应用。
生态和工具链 目前大部分的 NodeJS addon 基本都使用 C/C++ 开发。C/C++ 生态非常的繁荣,基本上你想做任何事情都能找到对应的 C/C++ 库。...在正式决定开始使用 Rust + N-API 开发 NodeJS addon 之前,还有一些问题需要讨论: N-API 的 Rust binding NodeJS 官方为 N-API 提供了相应的头文件...几年前我将这些代码从 xray 项目的 Git 的历史中找回来了,并且加以封装和改进:napi-rs,将大部分常用的 N-API 接口封装成了 Safe Rust 接口,并为它们编写了全方位的单元测试,...下面我们来用一个简单而实际的例子介绍一下如何使用 Rust 和 napi-rs 开发、测试、发布一个 NodeJS native addon。...在 N-API 的调用开销和 v8 引擎已经非常快的前提下,大部分的纯计算的场景也不适合使用 native addon 来替换 Js,甚至是你还能看到一些地方提到用 JavaScript 替换了 native
//下载nodejs https://nodejs.org/en/download/ //放在服务器后解压,我是linux,所以就下载linux,还需要注意事32位的系统还是64位的系统 # 先解除xz...//建立软连接,变为全局 ln -s /opt/nodejs/bin/npm /usr/local/bin/ ln -s /opt/nodejs/bin/node /usr/local/bin/...//查看是否生效 node -v //添加/etc/profile配置文件 export NODE_HOME=/opt/nodejs export PATH=$NODE_HOME/bin:$PATH...用于启动node服务 npm install pm2 -g //启动应用: pm2 start app.js //列出所有应用 pm2 list //查看资源消耗 pm2 monit //...//停止应用 pm2 stop [app id] //删除应用 pm2 delete [app id] //开启api访问 pm2 web pm2在后台监视npm的进程,可以开无数个 pm2
安装 Pm2 由于 Pm2 依赖于 NodeJs 运行,且需要 Node 的版本>=8.0,所以需要提前确定本地环境的 NodeJs 版本,可以参考此处,对于还未安装 NodeJs 的运行环境,请看这里...使用 Pm2 来管理应用程序 先使用 Pm2 拉起程序 控制台运行以下命令(可按照需求加上 sudo) $ pm2 start urapp #这里将要加入管理的应用地址写入到urapp..."app" # 启动应用程序并命名为 "api" $ pm2 start app --watch # 当文件变化时自动重启应用 显示 Pm2 监管中的应用程序 控制台输入即可打印出后台运行的应用程序...$ pm2 monit # 显示每个应用程序的CPU和内存占用情况 image.png 管理应用程序的运行 使用 Pm2 命令管理应用程序的相关启动行为 $ pm2 stop...$ pm2 reload all 更新 PM2 程序 使用 npm 更新 PM2 程序 $ pm2 save #保存当前进程 $ npm install pm2 -g
本文不涉及的前端知识,是NodeJs服务器端的知识点,有兴趣的可以了解一波。 这里的PM2,不是PM2.5,跟空气没有半毛钱的关系。...它是NodeJs应用的进程管理器,可以利用它来简化很多Node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。...MacOSx (stable) & Windows (stable).多平台支持 5、停止不稳定的进程(避免无限循环) 6、控制台检测 7、提供 HTTP API 8、远程控制和实时的接口API...( Nodejs 模块,允许和PM2进程管理器交互 ) 好像很牛x的样子啊?...我认为最大的区别是在监控欠缺,进程和集群管理有限。
前言 这几天终于完成了为期三个月的公司某个demo版的项目,在这期间和公司的后台因为API的事怼过无数次了,'我的接口没问题,是你请求的方式不对吧!'...请代码说话: Wget下载安装nvm 或者Curl 下载完成后加入系统环境 验证安装 查看远程node版本 安装所需版本 要求nodejs(7.6+) 安装mongdb yapi依赖mongodb(2.6...安装pm2 切换到yapi的vendors目录 执行pm2 start 正常的话,应该能正常访问到,默认接口是3000 总结 至此,已经把yapi的源代码clone了一份到你自己的内网,当然,期间还是会遇到不少的坑...,我遇到的主要还是mongdb认证的坑:比如认证设置不成功、config文件配置不正确之类的,甚至pm2启动yapi失败,总之多尝试多动手,自己实在不能解决再去请教大牛。...① mongdb认证获取失败 解决: 检查mongdb配置是否正确、认证设置是否成功,yapi的config文件是否配置正确 ② pm2启动yapi失败,一直重启 决:通过pm2 log查看是之前通过
cluster模式 Nodejs的cluster模式用的就是第一种实现,它使用一个主线程master和多个子线程worker,形成一个集群,通过主线程来向子线程分发请求。...cluster的使用 http和cluster、process都是nodejs的内置模块,不需要额外安装 创建一个http服务 // http是nodejs内置模块 const http = require...PM2 PM2是后台进程管理器,是多进程方案的一个成熟应用,可以帮助管理和保持应用程序在线。...pm2 start xx.js --watch image.png 负载均衡: PM2对nodejs应用,可以根据系统自动实现负载均衡:pm2 start http-server.js -i max...流水日志 参考: Node Process模块 API:http://nodejs.cn/api/process.html pm2官网: https://pm2.keymetrics.io/docs
安装 Nodejs 2.2. 安装 MongoDB 3. 安装 YApi 4. 启动 YApi 5. 安装 cross-request 插件 1. YApi 是什么?...YApi 是一个高效、易用、功能强大的API管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。 2....安装前准备 安装 Yapi 前,需要提前在环境中安装好 nodejs 和 MongoDB。 2.1. 安装 Nodejs 还得是 dnf ... dnf install nodejs 2.2....启动 YApi YApi 部署完成后,官方建议使用 pm2 进行 YApi 的服务管理。...npm install pm2 -g cd /root/my-yapi // YApi 的部署路径 pm2 start "vendors/server/app.js" --name yapi //pm2
二、pm2守护Nodejs 简介 pm2是nodejs的一个带有负载均衡功能的应用进程管理器的模块,类似有Supervisor,forever,用来进行进程管理。...安装 npm install pm2 -g 启动 pm2 start app.js pm2 start app.js --name my-api #my-api为PM2进程名称 pm2 start app.js...pm2 show 0 或者 # pm2 info 0 #查看进程详细信息,0为PM2进程id 停止 pm2 stop all #停止PM2列表中所有的进程 pm2 stop 0 #停止PM2列表中进程为...0的进程 三、pm2启动脚本 由于公司的Nodejs项目,比如test,它有4个服务,因此有4个app.js。...merge_logs: exec_interpreter:应用程序的脚本类型,这里使用的shell,默认是nodejs exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群)
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多。...假如你的go应用名字叫main可执行文件 ,那么直接pm2 start main即可,内存和cpu统统能够监控。 ?...1、 pm2需要全局安装 npm install -g pm2 2、进入项目根目录 2.1 启动进程/应用 pm2 start bin/www 或 pm2 start app.js 2.2 重命名进程...主要特性: 内建负载均衡(使用 Node cluster 集群模块) 后台运行 0 秒停机重载 具有 Ubuntu 和 CentOS 的启动脚本 停止不稳定的进程(避免无限循环...) 控制台检测 提供 HTTP API 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互) 常用命令 启动 参数说明: --watch:监听应用目录的变化
第1章 搭建前端全栈开发需要的本地基本环境 1-1 课程介绍 (02:09) 1-2 nodejs安装 (03:24) 1-3 第一个nodejs程序 (06:34) 1-4 nodejs和npm介绍...API使用 (11:28) 2-6 中间件 (25:00) 2-7 异常处理 (10:38) 2-8 mysql安装和使用 (09:40) 2-9 sequlize集成和使用 (20:10) 第3章...里面具体使用ORM模型 ORM模型创建 API具体实现 项目的发布和运维 pm2 启动命令/运维命令/运维命令/运维文档 pm2 start ecosystem.config.js pm2 logs pm2...源代码下载和运行 下载todo_api后端源代码 可惜这个视频只有后端部分,没有前端的代码。...参考资料 Nodejs全栈入门-慕课网视频教程 Sequelize ORM PM2 Qucik Start postman REST Client 测试(vscode插件) VSCode插件推荐 | REST
一、用node.js编写api接口 1、安装node环境,没有就去看上一篇文章 2、创建一个node项目, 新建一个目录文件,例node_proxy 3、在新建的node项目执行npm init,...1、把 api 接口代码上传到服务器(不用上传node_modules,有package.json文件就行了),在服务器文件通过命令窗口npm install 安装依赖。...一般放到服务器的根路径下的 api 文件夹/api/ 2、在服务器安全组中添加 api 监听的端口号不然访问不了接口,比如腾讯云云的安全防火墙 image.png 3、cd 到 api 接口目录下,...三、让nodejs接口一直在服务器运行 1、screen、forever、pm2都可以管理nodejs的接口,我这里用了pm2. 2、 建议使用 PM2 , 优点: ①可以多进程 ②可以将日志...pm2 stop all # 停止所有进程 pm2 restart all # 重启所有进程 pm2 reload all # 0秒停机重载进程 pm2
序言一次面试中,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新整理了一下。...为了优化NodeJS不适合计算密集型任务的问题,NodeJS提供了多线程和多进程的支持。...UNIX Domain socket,这是一套由操作系统支持的、和socket很相近的API,但用于IPC,名字虽然是UNIX,实际Linux也支持。...层面上提供的API和TCP socket类似,只是listen的是一个文件描述符,而不是端口,相应的,client连接的也是一个文件描述符(path)。...社区也有比较成熟的工具做进程管理,比如pm2和egg-clusterpm2pm2是一个社区很流行的NodeJS进程管理工具,直观地看,它提供了几个非常好用的能力:后台运行。自动重启。
puppeteer只是node的一个plugin,所以需要做的准备大致有下 一台linux服务器,这里实用centos node安装包(用于搭建node环境) 字体文件 安装node环境 wget https://nodejs.org...request.query.login=="true"){ // wait until page load await page.goto('认证...启动(如果安装了pm2) 启动:pm2 start index.js 进程:pm2 list 删除:pm2 delete 应用ID 使用 由于以上代码已经对截图的加载做过处理的,所以无需在使用线程睡眠...同时代码也对宽度(width)和高度(height)做了处理,所以具体访问地址如下 http://127.0.0.1:3000/screenshot/?...[页面高度]&url=[截图地址] 最后 虽然我们我们使用puppeteer能应对绝大多数报表,后来发现puppeteer对多组件图表存在渲染问题,所以就要求 提供商提供导出图片功能(用户页面导出非api