PM2 - Documentation - (Specifics,ES6/AuthBind...)

9 篇文章 0 订阅

Specifics,ES6/AuthBind…

Listening on port 80 w/o root

通常不将node作为root运行,然后只有root才可以绑定小于1024的端口。这是 authbind 所发挥作用的地方。Authbind允许非root用户绑定小于1024的端口。

$ sudo apt-get install authbind
$ sudo touch /etc/authbind/byport/80
$ sudo chown %user% /etc/authbind/byport/80
$ sudo chmod 755 /etc/authbind/byport/80
$ authbind --deep pm2 update

你现在可以使用pm2 启动应用,不需要root绑定到80端口。

建议在你的 .bashrc 文件中设置别名:

alias pm2='authbind --deep pm2'

Multiple PM2 on the same server

你可以启动多个pm2实例,通过改变 PM2_HOME 环境变量。

$ PM2_HOME='.pm2' pm2 start echo.js --name="echo-node-1"
$ PM2_HOME='.pm3' pm2 start echo.js --name="echo-node-2"

这个将会启动2个pm2实例。每个实例都会管理不同的进程列表:

$ PM2_HOME='.pm2' pm2 list
$ PM2_HOME='.pm3' pm2 list

Launch PM2 in no deamon - 没有虚拟光驱启动pm2

确保你可以杀死任何pm2实例,在没有虚拟光驱启动pm2之前 (pm2 kill)。

$ pm2 start app.js --no-daemon

Configuration file

你可以编辑 $HOME/.pm2/conf.js 来编辑pm2选项

PM2_LOG_FILE_PATH  // PM2 log file path
PM2_PID_FILE_PATH  // Pid file path
DUMP_FILE_PATH     // Dump file path (for pm2 save && pm2 resurrect)
CONCURRENT_ACTIONS // Concurrent process actions
WEB_INTERFACE      // Port of the PM2 web api

API health endpoint

$ pm2 web

Stateless apps

一般来说,生产环境的app应该是无状态的。每一个data, states, websocket session, session data, 必须通过数据库或 PUB/SUB system共享。

如果不是,你的app可以在同一个服务器并且跨多个服务器。

例如,你想使用 connect-redis共享session。

我们还建议你遵守12要素公约:http://12factor.net/

Setup pm2 on a server

如何使用pm2建立node生产环境在 Ubuntu VPS

Log and PID files

默认,log (error 和 output),pid文件,dumps, 和pm2 log 都被放在 ~/.pm2/

.pm2/
├── dump.pm2
├── custom_options.sh
├── pm2.log
├── pm2.pid
├── logs
└── pids

Enabling Harmony ES6

–node-args 允许添加参数到node的解析器。启动harmony模式

harmony模式可以在node中启用es6

$ pm2 start my_app.js --node-args="--harmony"

或者json声明

[{
  "name" : "ES6",
  "script" : "es6.js",
  "node_args" : "--harmony"
}]

CoffeeScript

$ pm2 start server.coffee --interpreter coffee

Piping JSON

Process title

你可以指定环境变量 PROCESS_FILE 当使用pm2启动app,它将设置一个process title。在尝试从process中获取指定数据时非常有用。例如你可以使用 ps -fC name

Transpilers

Refer to Using transpilers with PM2 tutorial.

User tips from issues

External resources and articles

可到官网查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值