运行使用新贵原因“状态127终止”对“的Ubuntu 10.04”的node.js服务器(runni

2019-07-19 05:37发布

我写了一个暴发户脚本的Ubuntu手动或在启动时启动我的node.js服务器。 但它总是与状态127终止,我不能找到什么错误的详细信息。 如果我执行它手动,然后它工作,我也测试了它在Ubuntu 12.10在那里它也可以...它不但不能在Ubuntu 10.04这是我使用的生产服务器的工作。

剧本:

description ""
author      ""

start on started mountall
stop on shutdown
respawn
respawn limit 20 5

# Max open files are @ 1024 by default. Bit few.
limit nofile 32768 32768

env HOME=/home/projects/<project_name>/data/current

script
    export HOME=$HOME
    chdir $HOME
    exec sudo -u <user_to_launch_the_script> /usr/bin/node /home/projects/<project_name>/data/current/server.js 2>&1 >> /var/log/node.log
end script

任何想法在哪里可以找到有关状态127的更多信息? 或者,我怎么能解决这个问题? 我都对着/var/log/daemon.log和/var/log/syslog.log ..但除了“与状态127终止主进程(29520)”没有相关的信息。

亲切的问候,

Answer 1:

127在bash的意思是:“找不到命令”,illegal_command,用$ PATH或错字可能出现的问题。

来源: http://tldp.org/LDP/abs/html/exitcodes.html

这可能是服务器故障问题,因为它是bash的关系,但这种提问/回答可以帮助你:

https://serverfault.com/questions/277706/cron-fails-with-exit-status-127



Answer 2:

有同样的错误信息,跟踪它在与失败的定制新贵日志/usr/bin/env: node: No such file or directory ,这是我的解决办法:

https://github.com/joyent/node/issues/3911



Answer 3:

有这个问题。 我在Ubuntu 14.04服务器与gunicorn部署Web应用程序。 将你的核心指令bash脚本。 要记住,使脚本可执行。 我忽略了使bash脚本可执行文件,因此我得到了127。

description "Gunicorn  app running myproject"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

setuid <user> 
setgid <group>

exec bash /path/to/bash/script/

然后我的bash脚本

#!/bin/bash
# description "bash script that handles loading env and running gunicorn"

# load up the project's virtualenv 
source /path/to/virtualenv/bin/activate

# minimal settings 
exec gunicorn app:app 


文章来源: running node.js server using upstart causes 'terminated with status 127' on 'ubuntu 10.04'