nodejs express 部署

一、express 4.x版本之前 全局安装express 命令是 npm install express -g
  express 4.x版本之后 全局安装express 命令是 npm install -g express-generator


1.创建Express 工程 express -e myproject

2.npm install -g supervisor  ,修改app.js不用重新启动

  

二、nojdJs 常用的8个工具

1. create-react-app:快速搭建 React 应用的原型
安装方法:npm install -g create-react-app,create-react-app 由 Facebook 出品,能够帮你快速的生成 React 应用的骨架,里面包括典型 React 应用的基础依赖,最佳实践,包括:开发环境的各种工具,能直接修改运行的测试文件、工具,帮你构建源代码以便发布到生产环境的脚本。
2. standard:傻瓜式的 Javascript 语法检查工具
安装方法:npm install -g standard,standard 是代码检查工具领域的新秀,代码检查存在的必要性这里不再赘述。在代码风格检查领域有几款优秀的工具,按出现的先后顺序为:jslint、jshint、eslint,而跟 standard 同时出现的还要很多其他的,他的特点是傻瓜式,零配置即可上手,目前在已经有不少开源项目使用了这种风格,无需任何配置,只需要用过命令行就可以确保所有的代码贡献者提交的代码是风格一致的。
3. nodemon:自动重启 NodeJS 应用
安装方法,npm install -g nodemon,nodemon 是一款监听服务运行时所在的目录源代码变化并自动重启服务的工具,是项目快速迭代时的完美伴侣,因为 nodemon 能帮你把重复工作降到最低。理论上 nodemon 支持各种语言的服务重启,并且支持监听目录和文件的自定义配置。
4. pm2:便捷管理 node 服务进程
安装方法,npm install -g pm2,pm2 是一款非常强大的服务进程管理工具,尤其适合用在生产环境,人人车所有的线上 node 服务都是用他来管理,开箱即用的特性包括:进程监控、负载均衡、内存监控、
日志管理、服务管理。并且有需要的同学可以开启他官方的 node 应用监控后台支持:keymetrics.io
pm2 --watch-delay 5 ## 可以热启动,类似nodemon 的功能,5 是5s 后会重新启动


5. localtunnel:把本机服务暴露到外网 安装方法:npm install -g localtunnel,localtunnel能够让你快速的把本机的服务暴露到公网上,提供给其他人使用、测试,不需要任何域名、虚拟主机。典型的使用场景比如做前端开发的同学可以利用这个工具把开发环境的服务提供给 PM 或者 QA 验收使用。提供类似服务的还有 ngrok 及其国内克隆版 natapp,但是都是收费的。 6. david:帮你找到已经过期的依赖包 安装方法:npm install -g david,david 不仅仅能够让你知道你的项目中哪些依赖包需要升级,还提供了快速升级包的机制。npm 内置的工具有 npm outdated,但是 david 较之更优。 7. nvm:Node 版本管理器 安装方法参见 nvm,该工具不是 NodeJS 编写。顾名思义,他能够帮你安装、管理、切换不同版本的 NodeJS 引擎,对于开源项目维护者来说尤其实用。比如:你的项目需要支持 NodeJS 的 Current Release(7.X),也要支持 LTS Release(6.X),在跑测试的时候,辅以简单的脚本就可以在多个不同版本上做自动化回归。 8. yarn:比 npm 更好的包管理器 安装方法:npm install -g yarn,yarn 是 Facebook 出品的改良版 NodeJS 包管理器,在性能上有非常大的改进,依赖管理方面也修复了 npm 被人诟病了很久的无法锁定依赖的问题,但是国内的同学使用可能偶尔会遇到服务不稳定的情况。 作者:小丶侯 链接:https://www.jianshu.com/p/d6fd8ecf0bdc 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  

# Fork mode
pm2 start app.js --name my-api # Name process

# Cluster mode
pm2 start app.js -i 0        # Will start maximum processes with LB depending on available CPUs
pm2 start app.js -i max      # Same as above, but deprecated.
pm2 scale app +3             # Scales `app` up by 3 workers
pm2 scale app 2              # Scales `app` up or down to 2 workers total

启动Express 服务

执行pm2 start ./bin/www --name=“自己能认识的名称”


停止可以用pm2 stop id号 或者pm2 stop all

# Listing

pm2 list               # Display all processes status
pm2 jlist              # Print process list in raw JSON
pm2 prettylist         # Print process list in beautified JSON

pm2 describe 0         # Display all informations about a specific process

pm2 monit              # Monitor all processes

# Logs

pm2 logs [--raw]       # Display all processes logs in streaming
pm2 flush              # Empty all log files
pm2 reloadLogs         # Reload all logs

# Actions

pm2 stop all           # Stop all processes
pm2 restart all        # Restart all processes

pm2 reload all         # Will 0s downtime reload (for NETWORKED apps)

pm2 stop 0             # Stop specific process id
pm2 restart 0          # Restart specific process id

pm2 delete 0           # Will remove process from pm2 list
pm2 delete all         # Will remove all processes from pm2 list

# Misc

pm2 reset <process>    # Reset meta data (restarted time...)
pm2 updatePM2          # Update in memory pm2
pm2 ping               # Ensure pm2 daemon has been launched
pm2 sendSignal SIGUSR2 my-app # Send system signal to script
pm2 start app.js --no-daemon
pm2 start app.js --no-vizion
pm2 start app.js --no-autorestart