§1 登录
§命令:
$ ssh -i C:\\Users\\Mr风语恺撒\\.ssh\\MySSHKey AzureUser@40.73.17.224
§2 切换用户
§命令:
$ su - <username>
§3 部署Node.js环境 (使用NVM安装多版本)
§NVM(Node Version Manager)是Node.js的版本管理软件,使您可以轻松在Node.js各个版本间进行切换。适用于长期做node开发的人员或有快速更新node版本、快速切换node版本的场景。
§3.1 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
§3.1.1 安装git
§命令:
$ yum install git
§…
§3.1.2 clone代码
§命令:
$ git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
§3.2 激活nvm
§命令:
$ echo ". ~/.nvm/nvm.sh" >> /etc/profile
$ source /etc/profile
§3.3 列出Node.js的所有版本
§命令:
$ nvm list-remote
§3.4 选择安装多个Node.js的版本
§命令:
$ nvm install v7.4.0
$ nvm install iojs-v3.3.1
§3.5 查看已安装的Node.js的版本
§命令:
$ nvm ls
§3.6 切换已安装的Node.js的版本
§命令:
$ nvm use <版本号(v6.9.5)>
§3.7 配置完成后使用命令查看npm和node的版本
§命令:
$ npm -v
$ node -v
§3.8 注意:重新登入后需编译并指定要使用的node.js的版本
§命令:
$ source /etc/profile
$ nvm use <版本号>
§4 pm2安装配置
§4.1 介绍
§pm2是nodejs的一个带有负载均衡功能的应用进程管理器的模块,类似有Supervisor,forever,用来进行进程管理。
§4.2 安装
$ npm install pm2 -g
§4.3 启动
pm2 start app.js
pm2 start app.js --name my-api #my-api为PM2进程名称
pm2 start app.js -i 0 #根据CPU核数启动进程个数
pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload
§4.4 其他
操作 | 命令 |
---|---|
查看进程 | pm2 list<br/>pm2 show 0 或者 # pm2 info 0 #查看进程详细信息,0为PM2进程id |
监控 | pm2 monit |
停止 | pm2 stop all #停止PM2列表中所有的进程<br/>pm2 stop 0 #停止PM2列表中进程为0的进程 |
重载 | pm2 reload all #重载PM2列表中所有的进程<br/>pm2 reload 0 #重载PM2列表中进程为0的进程 |
重启 | pm2 restart all #重启PM2列表中所有的进程<br/>pm2 restart 0 #重启PM2列表中进程为0的进程 |
删除PM2进程 | pm2 delete 0 #删除PM2列表中进程为0的进程<br/>pm2 delete all #删除PM2列表中所有的进程 |
日志操作 | pm2 logs [--raw] #Display all processes logs in streaming<br/>pm2 flush #Empty all log file<br/>pm2 reloadLogs #Reload all logs |
升级PM2 | npm install pm2@lastest -g #安装最新的PM2版本<br/>pm2 updatePM2 #升级pm2 |
更多命令参数请查看帮助 | pm2 --help |
§5 JS类框架部署
§概要:
§现在 NodeJS 框架正在成为最常用的构建 Web 应用前后端的开发框架。这是自定义 Web 开发的首选环境。一些主要的NodeJS框架的优点:
§实时工作环境
§简单的编码经验
§无缝数据流
§在整个开发过程中使用相同的代码模式
§方便易用的
§采用哪种框架完全取决于我们想要构建的网站和 Web 应用的类型。框架列表是无穷无尽的,在 JavaScript 社区中无处不在。
§10 个顶级 NodeJS 框架:
NestJS | Hapi.JS | Express.JS | Socket.io | Total.JS |
---|---|---|---|---|
Derby | Meteor.JS | Loopback | Koa | Sail.JS |
§下面以NestJs以及ExpressJs的框架部署为例
§5.1 NestJs安装部署
§NestJs 是用 Node.js 构建的框架,用于构建高效、可扩展的 Node.js 服务器端应用。 Nest 使用渐进式 JavaScript,并使用 TypeScript 编写。使用 TypeScript 构建意味着 Nest 具有强大的类型功能,并且结合了OOP(面向对象编程),FP(函数式编程)和FRP(函数式响应编程)的元素。
§5.1.1 安装
$ npm i @nestjs/cli
§5.1.2 创建新项目
$ npm clinest new project-name
$ nest new project-name
import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
await app.listen(2000);
}
bootstrap();
§5.1.3 可选(使用Git安装TypeScript Starter项目)
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
§5.1.4 在端口上运行
$ npm run start
§5.2 ExpressJs安装部署
§Express.JS 由核心 Node 项目团队的成员之一 TJ Holowaychuk 构建。大型社区支持此框架,因此具有不断更新和改革所有核心功能的优势。这是一个极简主义的框架,用于构建mobile应用程序和 API。
§强大的 API允许用户通过配置路由在前端和数据库(充当 HTTP 服务器框架)之间发送或接收请求。
express 的一个优点是它支持许多其他软件包和模板引擎,例如Pug、Mustache、EJS 等。
§5.2.1 全局安装
express 4.x版本之前 全局安装express 命令是 $ npm install express -g
express 4.x版本之后 全局安装express 命令是 $ npm install -g express-generator
§5.2.2 本地安装
1.创建目录用来保存应用程序:
$ mkdir myapp
$ cd myapp
2.初始化并未应用程序创建相关文件
$ npm init
3.为程序设置各种信息(可以一路回车接收默认值)
4.在目录中安装Express,并将其保存在依赖关系列表中
$ npm install express --save
5.在目录中安装Express,并不将其保存在依赖关系列表中(可选)
$ npm install express --no-save
§5.2.3 HelloWorld示例
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})