pm2
PM2 是 Node.js 应用程序的生产进程管理器,具有内置的负载均衡器。PM2 可以使应用程序保持持久运行,无需宕机即可重新装入,并可以简化常见的系统管理任务。PM2 还使您可以管理应用程序记录、监控和集群。
官方文档
安装 PM2
$ npm install pm2 -g
启动
$ pm2 start app.js
最优实践
$ pm2 start api.js -i max --env production
- 打开负载均衡
$ pm2 start api.js -i <processes>
<processes>
可以是 max
/ -1
(所有cpu减 1) 或者指定cup的数量
- 文件配置
$ pm2 init // 生成配置文件
$ pm2 start app --env production // 以产品模式运行
常用命令
$ pm2 stop <app_name|id|'all'|json_conf>
$ pm2 restart <app_name|id|'all'|json_conf>
$ pm2 delete <app_name|id|'all'|json_conf>
Forever
Forever 是一种简单的命令行界面工具,用于确保特定脚本持续(永久)运行。Forever 的简单界面使其成为运行 Node.js 应用程序和脚本的较小部署的理想选择。
有关更多信息,请参阅 https://github.com/foreverjs/forever。
安装
$ [sudo] npm install forever -g
基本使用
要启动脚本,请使用 forever start
命令并指定脚本的路径:
$ forever start ./bin/www //启动exress服务器
or
$ forever start script.js //启动特定文件
此命令(在后台)以守护程序方式运行脚本。
要运行脚本以便其附加到终端,请省略 start
:
$ forever script.js
使用日志记录选项 -l
、-o
和 -e
(如此示例中所示)记录来自 Forever 工具和脚本的输出,是很好的构想:
$ forever start -l forever.log -o out.log -e err.log script.js
要查看 Forever 启动的脚本的列表:
$ forever list
要停止由 Forever 启动的脚本,请使用 forever stop
命令并指定进程索引(如 forever list
命令所列出)。
$ forever stop 1
或者,指定文件的路径:
$ forever stop script.js
要停止 Forever 启动的所有脚本:
$ forever stopall
Forever API
actions:
start Start SCRIPT as a daemon
stop Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
stopall Stop all running forever scripts
restart Restart the daemon SCRIPT
restartall Restart all running forever scripts
list List all running forever scripts
config Lists all forever user configuration
set <key> <val> Sets the specified forever config <key>
clear <key> Clears the specified forever config <key>
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
columns add <col> Adds the specified column to the output in `forever list`
columns rm <col> Removed the specified column from the output in `forever list`
columns set <cols> Set all columns for the output in `forever list`
cleanlogs [CAREFUL] Deletes all historical forever log files