Nodejs:Bash can';找不到节点?

Nodejs:Bash can';找不到节点?,bash,node.js,Bash,Node.js,此shell脚本引发错误: #!/bin/sh exec node /opt/nodejs/first/app.js 1>>/opt/nodejs/first/log/output 2>>/opt/nodejs/first/log/error 我正在尝试在系统启动时启动它: exec: 2: node: not found 我做错了什么 可能是启动级别错误或订单号错误,或者其他原因 谢谢;) 我不知道节点,但这里的典型错误是执行脚本时的路径变量不包含程序的路径。最简单

此shell脚本引发错误:

#!/bin/sh
exec node /opt/nodejs/first/app.js 1>>/opt/nodejs/first/log/output 2>>/opt/nodejs/first/log/error
我正在尝试在系统启动时启动它:

exec: 2: node: not found
我做错了什么

可能是启动级别错误或订单号错误,或者其他原因


谢谢;)

我不知道
节点
,但这里的典型错误是执行脚本时的
路径
变量不包含程序的路径。最简单的修复方法是简单地使用完整路径:

sudo update-rc.d autostart.sh defaults 95

您需要设置
路径
环境变量,以包括
节点
二进制文件所在的目录。对于启动时启动,您正在运行什么操作系统?我建议你在Ubuntu上使用upstart系统。下面是一个简单的upstart脚本,可以使节点服务器作为守护进程工作

#!/bin/bash
exec /path/to/node ...
description“启动和停止node.js服务器”
版本“1.0”
作者“你”
启动时启动
重生
环境节点_env=生产
环境路径=/PATH/to/node/bin
chdir/path/to/your/app/root
exec su-c'node app/server.js'www-data>>var/log/stdout.log 2>&1
description "start and stop your node.js server"
version "1.0"
author "You <you@yoursite.example>"

start on startup
respawn

env NODE_ENV=production
env PATH=/path/to/node/bin
chdir /path/to/your/app/root
exec su -c 'node app/server.js' www-data  >> var/log/stdout.log 2>&1