3、node之pm2搭建node生产环境
来源:互联网 发布:淘宝联盟怎么自助推广 编辑:程序博客网 时间:2024/06/10 21:52
pm2保驾护航
pm2 是一个带有负载均衡功能的 node应用进程管理工具
forever已经out了,严重推荐pm2方式运行nodejs,这是最好的,没有之一。
内建负载均衡(使用 Node cluster 集群模块)
后台运行0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
具有 Ubuntu 和 CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
pm2官网http://pm2.keymetrics.io/
[root@localhost /]# npm install -g pm2
开始下载安装文件 │ └── minimist@0.0.8 ├── moment@2.11.2 ├─┬ nssocket@0.6.0 │ └── lazy@1.0.11 ├── pidusage@1.0.1 ├─┬ pm2-axon@2.0.9 │ ├── amp@0.3.1 │ ├── amp-message@0.1.2 │ ├── configurable@0.0.1 │ └── escape-regexp@0.0.1 ├─┬ pm2-axon-rpc@0.3.6 │ ├─┬ commander@1.0.5 │ │ └── keypress@0.1.0 │ └── json-stringify-safe@5.0.1 ├─┬ pm2-deploy@0.2.1 │ ├── async@1.4.2 │ └── tv4@1.0.18 ├─┬ pm2-multimeter@0.1.2 │ └── charm@0.1.2 ├── pmx@0.6.1 ├── semver@5.1.0 ├── shelljs@0.6.0 ├─┬ source-map-support@0.4.0 │ └─┬ source-map@0.1.32 │ └── amdefine@1.0.0 └─┬ vizion@0.2.12 └── async@0.9.0 runTopLevelLifecycles ▌ ╢████████████████████████████████████████████████████████████████████████████████npm WARN optional Skipping failed optional dependency /pm2/chokidar/fsevents:runTopLevelLifecycles ? ╢████████████████████████████████████████████████████████████████████████████████npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.8runTopLevelLifecycles ? ╢████████████████████████████████████████████████████████████████████████████████
成功。
测试个helloworldQQ245197944
可以在网页目录里编写服务端代码helloworld.js
var http = require('http');http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
pm2启动试试看
[root@localhost www]# pm2 start helloworld.js --name 'helloworld'
[PM2] Spawning PM2 daemon[PM2] PM2 Successfully daemonized[PM2] Starting helloworld.js in fork_mode (1 instance)[PM2] Done.┌────────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │├────────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤│ helloworld │ 0 │ fork │ 2251 │ online │ 0 │ 0s │ 14.715 MB │ disabled │└────────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show ` to get more details about an app[root@localhost www]#pm2 monit
是不是很神奇,接下来把pm2加入系统启动中。
[root@localhost www]# pm2 startup centos
[PM2] Generating system init script in /etc/init.d/pm2-init.sh[PM2] Making script booting at startup...[PM2] /var/lock/subsys/pm2-init.sh lockfile has been added[PM2] -centos- Using the command: su -c "chmod +x /etc/init.d/pm2-init.sh; chkconfig --add pm2-init.sh"[PM2] Done.[root@localhost www]# pm2 save
[PM2] Dumping processes要保存一下!
还有更厉害。
先去pm2官网上注册个账号,收费的更好些,我们看下free版本。
[root@localhost ~]# pm2 link key1 ke2 [62server]
[Keymetrics.io] Using (Public key: yklukcus7ugg7u6) (Private key: fhgynshuxtahahd)[Keymetrics.io] [Agent created] Agent ACTIVE - Web Access: https://app.keymetrics.io/
key1和key2是注册后官网给的。QQ245197944
系统提供监控的key
系统监控
补充问题,如何开放端口
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 1337 -j ACCEPT[root@localhost ~]# /etc/rc.d/init.d/iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ][root@localhost ~]# /etc/init.d/iptables statusTable: filterChain INPUT (policy ACCEPT)num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1337
此文为转载。
云服务器、云数据库方案、网络安全防护优选
阅读全文
0 0
- 3、node之pm2搭建node生产环境
- node.js&pm2搭建node生产环境
- node.js&pm2搭建node生产环境
- 生产环境下通过pm2部署node简单实例
- Node.js学习之环境搭建
- Node.js学习之IDE环境搭建
- Node.js之win7环境搭建
- node PM2 简介
- node pm2进程管理器
- node npm pm2 安装
- Travis Node pm2
- node进程管理工具pm2
- node与PM2
- node进程管理pm2
- node pm2 管理
- node.js 环境搭建
- Node.js环境搭建
- node.js环境搭建
- JS 如何判断两个对象相等
- [NOIP模拟][图论]星星
- 图的广度遍历
- 新手村 循环 级数求和
- 关于原生js和JQuery的小记
- 3、node之pm2搭建node生产环境
- 阿里云oss迁移到腾讯云cos使用工具…
- Day04_Java_作业
- RecycleView 瀑布流中加载更多遇到的问题
- 阿里云oss数据迁移到腾讯云cos&nbs…
- linux配置bond双网卡绑定
- [资源发布] python实战视频(…
- hdu 4801 Pocket Cube(dfs+模拟)
- 在Nginx上配置多个站点