为什么乘客以用户'nobody'和组'nogroup'运行Web应用程序进程

时间:2015-09-03 04:16:45

标签: node.js nginx passenger

获取错误:

  

来自应用程序的消息:此Web应用程序进程以用户'nobody'和组'nogroup'运行,并且必须能够访问其应用程序根目录'/ root / dev / smartChat-service'。但是,父目录“/ root”具有错误的权限,从而阻止此进程访问其应用程序根目录。请先修复目录'/ root'的权限。

我认为根据here启用了用户沙盒.fets_user_switching已启用且nginx进程具有root权限:

requires

/ root / smartChat-service目录及其中的目录/文件归root所有:

root      4296  0.0  0.2 140220  4316 ?        Ss   12:10   0:00 nginx: master process /usr/sbin/nginx
root      4297  0.0  0.3 140524  6508 ?        S    12:10   0:00 nginx: worker process
root      4298  0.0  0.3 140524  6508 ?        S    12:10   0:00 nginx: worker process
root      4299  0.0  0.3 140524  6508 ?        S    12:10   0:00 nginx: worker process
root      4300  0.0  0.3 140524  6508 ?        S    12:10   0:00 nginx: worker process

想知道为什么还会收到这个错误?

1 个答案:

答案 0 :(得分:1)

出于安全原因,Passenger拒绝以root用户身份运行您的应用。如果您的app.js由root拥有,则Passenger坚持将其作为passenger_default_user运行(默认为nobody)。你真的应该chown你的文件给非root用户。