linux pm2 权限,linux – 如何使用pm2托管node.js应用程序而不以root身份运行它们?...

我已经设置pm2来运行node.js应用程序,我可以成功启动它,它会在重启时恢复.

但是,pm2守护进程是以root身份运行的,这使我认为我的所有节点脚本也以root身份运行?即使我将它们添加为系统中的常规用户.日志文件和内容在用户主目录/ //.pm2/logs中创建,但日志由root拥有.

当我调用pm2启动(处理init.d脚本的安装等)时,它会创建/etc/init.d/pm2-init.sh,如下所示:

#!/bin/bash

# chkconfig: 2345 98 02

#

# description: PM2 next gen process manager for Node.js

# processname: pm2

#

### BEGIN INIT INFO

# Provides: pm2

# required-Start:

# required-Stop:

# Should-Start:

# Should-Stop:

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: PM2 init script

# Description: PM2 is the next gen process manager for Node.js

### END INIT INFO

NAME=pm2

PM2=/usr/local/lib/node_modules/pm2/bin/pm2

NODE=/usr/local/bin/node

export HOME="/root"

start() {

echo "Starting $NAME"

$NODE $PM2 stopAll

$NODE $PM2 resurrect

}

stop() {

$NODE $PM2 dump

$NODE $PM2 stopAll

}

restart() {

echo "Restarting $NAME"

stop

start

}

status() {

echo "Status for $NAME:"

$NODE $PM2 list

RETVAL=$?

}

case "$1" in

start)

start

;;

stop)

stop

;;

status)

status

;;

restart)

restart

;;

*)

echo "Usage: {start|stop|status|restart}"

exit 1

;;

esac

exit $RETVAL

当我转储进程时(这是复活进程时将使用的进程),我看到提到用户“USER”:“pi”但我不认为它实际上是以用户pi运行的.

有什么想法吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值